admin管理员组

文章数量:1530842

2023年12月30日发(作者:)

C#关键字大全

第一部分:C#关键字

1)abstract 修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现

2)as 运算符用于在兼容的引用类型之间执行某些类型的转换。

3)base 关键字用于从派生类中访问基类的成员

调用基类上已被其他方法重写的方法。

指定创建派生类实例时应调用的基类构造函数。

基类访问只能在构造函数、实例方法或实例属性访问器中进行。

从静态方法中使用 base 关键字是错误的。

4)bool 关键字是 n 的别名。它用于声明变量来存储布尔值 true 和 false。

5)break 语句用于终止最近的封闭循环或它所在的 switch 语句。控制传递给终止语句后面的语句(如果有的话)。

6)byte 关键字代表一种整型,该类型按下表所示存储值

7)switch 语句是一个控制语句,它通过将控制传递给其体内的一个 case 语句来处理多个选择和枚举。例如:

8)try-catch 语句由一个 try 块后跟一个或多个 catch 子句构成,这些子句指定不同的异常处理程序。引发异常时,公共语言运行时

(CLR) 会查找处理此异常的 catch 语句。如果当前执行的方法不包含这

样的 catch 块,则 CLR 会查看调用当前方法的方法,然后会遍历调用堆栈。如果找不到 catch 块,则 CLR 会向用户显示一条有关未处理异常的消息并停止执行程序。

try 块包含可能导致异常的保护代码。该块一直执行到引发异常或成功完成为止。例如,下列强制转换 null 对象的尝试引发

NullReferenceException 异常

9)char 关键字用于声明下表所示范围内的 Unicode 字符。Unicode 字符是 16 位字符,用于表示世界上大多数已知的书面语言。

10)checked 关键字用于对整型算术运算和转换显式启用溢出检查。

默认情况下,如果表达式产生的值超出了目标类型的范围,则常数表达式将导致编译时错误,而非常数表达式在运行时计算并将引发异常。不过,如果通过编译器选项或环境配置在全局范围内取消了溢出检查,则可以使用 checked 关键字来启用此项功能。

11)类是使用关键字 class 声明的

12)const 关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值是常数,不能被修改。

13)continue 语句将控制权传递给它所在的封闭迭代语句的下一次迭代。

14)decimal 关键字表示 128 位数据类型。同浮点型相比,decimal 类型具有更高的精度和更小的范围,这使它适合于财务和货币计算。decimal 类型的大致范围和精度如下表所示。

15)default 关键字。default 关键字可在 switch 语句或泛型代码中

使用。

16)delegate委托类型的声明与方法签名相似,有一个返回值和任意数目任意类型的参数

17)do 语句重复执行括在 {} 里的一个语句或语句块,直到指定的表达式计算为 false。

18)double 关键字表示存储 64 位浮点值的简单类型。下表显示了

double 类型的精度和大致范围。

19)if-else if 语句根据 Boolean 表达式的值选择要执行的语句。下面的示例将 Boolean 标志 flagCheck 设置为 true,然后在 if 语句中检查该标志。输出为:The flag is set to true。

20)enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型。

通常情况下,最好是在命名空间内直接定义枚举,以便该命名空间中的所有类都能够同样方便地访问它。但是,还可以将枚举嵌套在类或结构中。默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1。

21)event 关键字用于在发行者类中声明事件。

22)explicit 关键字用于声明必须使用强制转换来调用的用户定义的类型转换运算符。例如,在下面的示例中,此运算符将名为

Fahrenheit 的类转换为名为 Celsius 的类

23)extern 修饰符用于声明在外部实现的方法。extern 修饰符的常见用法是在使用 Interop 服务调入非托管代码时与 DllImport 属性

一起使用。在这种情况下,还必须将方法声明为 static

24)false用作重载运算符或文本

25)finally 块用于清除 try 块中分配的任何资源,以及运行任何即使在发生异常时也必须执行的代码。控制总是传递给 finally 块,与

try 块的退出方式无关。catch 用于处理语句块中出现的异常,而

finally 用于保证代码语句块的执行,与前面的 try 块的退出方式无

26)fixed 语句禁止垃圾回收器重定位可移动的变量。fixed 语句只能出现在不安全的上下文中。Fixed 还可用于创建固定大小的缓冲区。fixed 语句设置指向托管变量的指针,并在执行该语句期间“固定”此变量。如果没有 fixed 语句,则指向可移动托管变量的指针的作用很小,因为垃圾回收可能不可预知地重定位变量。C# 编译器只允许在 fixed

语句中分配指向托管变量的指针。

27)float 关键字表示存储 32 位浮点值的简单类型。下表显示了

float 类型的精度和大致范围。

28)for 循环重复执行一个语句或语句块,直到指定的表达式计算为 false 值。for 循环对于迭代数组和顺序处理很有用。

29)foreach 语句对实现 rable 或

rable(T) 接口的数组或对象集合中的每个元素重复一组嵌入式语句。foreach 语句用于循环访问集合,以获取您需要的信息,但不能用于在源集合中添加或移除项,否则可能产生不可预知的

副作用。如果需要在源集合中添加或移除项,请使用 for 循环。

嵌入语句为数组或集合中的每个元素继续执行。当为集合中的所有元

素完成迭代后,控制传递给 foreach 块之后的下一个语句。 可以在

foreach 块的任何点使用 break 关键字跳出循环,或使用 continue 关键字进入循环的下一轮迭代。 foreach 循环还可以通过 goto、return

或 throw 语句退出。

30)goto 语句将程序控制直接传递给标记语句。goto 的一个通常用法是将控制传递给特定的 switch-case 标签或 switch 语句中的默认标签。goto 语句还用于跳出深嵌套循环。

31) implicit 关键字用于声明隐式的用户定义类型转换运算符。如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换。

32)int 关键字表示一种整型,该类型根据下表显示的大小和范围存储值。

33)interface接口只包含方法、属性、事件或索引器的签名。成员的实现是在实现接口的类或结构中完成的

34)internal 关键字是类型和类型成员的访问修饰符。只有在同一程序集的文件中,内部类型或成员才是可访问的

35)is 检查对象是否与给定类型兼容。例如,下面的代码可以确定对象是否为 MyObject 类型的一个实例,或者对象是否为从

MyObject 派生的一个类型

36)lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。

37)long 关键字表示一种整型,该类型根据下表显示的大小和范

围存储值。

38)namespace 关键字用于声明一个范围。此命名空间范围允许您组织代码并为您提供了创建全局唯一类型的方法。

39)在 C# 中,new 关键字可用作运算符、修饰符或约束。new 运算符,用于创建对象和调用构造函数。new 修饰符

用于向基类成员隐藏继承成员。new 约束,用于在泛型声明中约束可能用作类型参数的参数的类型。

40)null 关键字是表示不引用任何对象的 null 引用的文字值。null

是引用类型变量的默认值。普通值类型不能为 null。但是,C# 2.0 引入了可以为 null 值的类型。

41)object 类型在 .NET Framework 中是 Object 的别名。在 C#

的统一类型系统中,所有类型(预定义类型、用户定义类型、引用类型和值类型)都是直接或间接从 Object 继承的。可以将任何类型的值赋给 object 类型的变量。将值类型的变量转换为对象的过程称为“装箱”。将对象类型的变量转换为值类型的过程称为“取消装箱”。有关更多信息,请参见装箱和取消装箱。

42)使用 operator 关键字来重载内置运算符,或提供类或结构声明中的用户定义转换。

43)out 关键字会导致参数通过引用来传递。这与 r

ef 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用

out 关键字。

44)override要扩展或修改继承的方法、属性、索引器或事件的抽

象实现或虚实现,必须使用 override 修饰符。

45)params 关键字可以指定在参数数目可变处采用参数的方法参数。

在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。

46)private 关键字是一个成员访问修饰符。私有访问是允许的最低访问级别。私有成员只有在声明它们的类和结构体中才是可访问的

47)protected 关键字是一个成员访问修饰符。受保护成员在其所在的类中可由派生类实例访问。

48)public 关键字是类型和类型成员的访问修饰符。公共访问是允许的最高访问级别。

49)readonly 关键字是可以在字段上使用的修饰符。当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。

50)ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字

51)return 语句终止它出现在其中的方法的执行并将控制返回给调用方法。它还可以返回一个可选值。如果方法为 void 类型,则可以省略 return 语句。如果 return 语句位于 try 块中,则将在控制流返回到调用方法之前执行 finally 块(如果存在)。

52)sbyte 关键字表示一种整型,该类型根据下表显示的大小和范

围存储值。

53)short 关键字表示一种整数数据类型,该类型根据下表显示的大小和范围存储值。

54)sizeof 用于获取 值类型 的字节大小。例如,可以如下所示检索 int 类型的大小

55)stackalloc 关键字用于不安全的代码上下文中,以便在堆栈上分配内存块。

56)使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员。static 修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型。

57)string 类型表示零或更多 Unicode 字符组成的序列。string

是 .NET Framework 中 String 的别名。

尽管 string 是引用类型,但定义相等运算符(== 和 !=)是为了比较 string 对象(而不是引用)的值。这使得对字符串相等性的测试更为直观。

58)struct 类型是一种值类型,通常用来封装小型相关变量组,例如,矩形的坐标或库存商品的特征。下面的示例显示了一个简单的结构声明。

59)this 关键字引用类的当前实例,还可用

作扩展方法的第一个参数的修饰符。

60)throw 语句用于发出在程序执行期间出现反常情况(异常)的信号。

61)用于获取类型的 对象。

62)uint 关键字表示一种整型,该类型根据下表显示的大小和范围存储值。

63)ulong 关键字表示一种整型,该类型根据下表显示的大小和范围存储值。

64)unchecked 关键字用于取消整型算术运算和转换的溢出检查。在未检查的上下文中,如果表达式产生目标类型范围之外的值,则结果被截断。

65)unsafe 关键字表示不安全上下文,该上下文是任何涉及指针的操作所必需的。有关更多信息,请参见 不安全代码和指针(C# 编程指南)。可以在类型或成员的声明中使用 unsafe 修饰符。因此,类型或成员的整个正文范围均被视为不安全上下文。

66)ushort 关键字表示整数数据类型,该类型根据下表显示的大小和范围存储值。

67)using 关键字有两个主要用途:

作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型.

作为语句,用于定义一个范围,在此范围的末尾将释放对象.

68)virtual 关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。

69)volatile 关键字指示一个字段可以由多个同时执行的线程修改。

声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。这样可以确保该字段在任何时间呈现的都是最新的值。volatile 修饰符通常用于由多个线程访问但不使用 lock 语句对访问进行序列化的字段。

70)void用作方法的返回类型时,void 关键字指定方法不返回值。在方法的参数列表中不允许使用 void。

71)while 语句执行一个语句或语句块,直到指定的表达式计算为

false。

第二部分 C#上下文关键字

1)from 查询表达式必须以 from 子句开头。另外,查询表达式还可以包含子查询,子查询也是以 from 子句开头。from 子句指定以下内容:将对其运行查询或子查询的数据源。一个本地范围变量,表示源序列中的每个元素。范围变量和数据源都是强类型。from 子句中引用的数据源的类型必须为 IEnumerable、IEnumerable<(T) 或一种派生类型(如 IQueryable(T))。

2)into 可以使用 into 上下文关键字创建一个临时标识符,以便将

group、join 或 select 子句的结果存储到新的标识符中。此标识符本身可以是附加查询命令的生成器。在 group 或 select 子句中使用新标识符的用法有时称为“延续”。

3)orderby 在查询表达式中,orderby 子句可使返回的序列或子序列(组)按升序或降序排序。可以指定多个键,以便执行一个或多个次要排序操作。排序是由针对元素类型的默认比较器执行

的。默认排序顺序为升序。您还可以指定自定义比较器。但是,只能通过基于方法的语法使用它。

4)select 在查询表达式中,select 子句可以指定将在执行查询时产生的值的类型。该子句的结果将基于前面所有子句的计算结果以及

select 子句本身中的所有表达式。查询表达式必须以 select 子句或

group 子句结束。

5)var 在方法范围中声明的变量可以具有隐式类型 var。隐式类型的本地变量是强类型变量(就好像您已经声明该类型一样),但由编译器确定类型。

6)yield 在迭代器块中用于向枚举数对象提供值或发出迭代结束信号。计算表达式并以枚举数对象值的形式返回;expression 必须可以隐式转换为迭代器的 yield 类型。yield 语句只能出现在 iterator 块中,该块可用作方法、运算符或访问器的体。这类方法、运算符或访问器的体受以下约束的控制:不允许不安全块。方法、运算符或访问器的参数不能是 ref 或 out。yield 语句不能出现在匿名方法中。

当和 expression 一起使用时,yield return 语句不能出现在

catch 块中或含有一个或多个 catch 子句的 try 块中。有关更多信息

7)get 关键字在属性或索引器中定义访问器方法,以检索该属性或该索引器元素的值。

8)使用 join 子句可以将来自不同源序列并且在对象模型中没有直接关系的元素相关联。唯一的要求是每个源中的元素需要共享某个可以进行比较以判断是否相等的值。例如,食品经销商可能具有某种产品的供应商列表以及买主列表。例如,可以使用 join 子句创建该产品同一指定地区供应商和买主的列表。join 子句接受两个源序列作为输入。每个序列中的元素都必须是可以与另一个序列中的相应属性进行比较的属性,或者包含一个这样的属性。join 子句使用特殊的 equals

关键字比较指定的键是否相等。join 子句执行的所有联接都是同等联

接。join 子句的输出形式取决于所执行的联接的具体类型。内部联接

分组联接 左外部联接.

9)partial(类型) 分部类型定义允许将类、结构或接口的定义拆分到多个文件中。

10)set 关键字在属性或索引器中定义为该属性或索引器元素赋值的“访问器”方法。

11)where(泛型类型约束)在泛型类型定义中,where 子句用于指定对下列类型的约束:这些类型可用作泛型声明中定义的类型参数的实参

12)group 子句返回一个 IGrouping<(Of <(TKey, TElement>)>)

对象序列,这些对象包含零个或更多个与该组的键值匹配的项。例如,可以按照每个字符串中的第一个字母对字符串序列进行分组。在这种情况下,第一个字母是键且具有 char 类型,并且存储在每个

IGrouping<(Of <(TKey, TElement>)>) 对象

的 Key 属性中。编译器可推断该键的类型。

13)let在查询表达式中,存储子表达式的结果有时很有用,这样可以在随后的子句中使用。可以使用 let 关键字完成这一工作,该关键字可以创建一个新的范围变量,并且用您提供的表达式的结果初始化该变量。一旦用值初始化了该范围变量,它就不能用于存储其他值。但如果该范围变量存储的是可查询的类型,则可以对其进行查询。

14)partial(方法)分部方法在分部类型的一个部分中定义它的签名,并在该类型的另外一个部分中定义它的实现。类设计人员可以使用分部方法提供由开发人员决定是否实现的方法挂钩(类似于事件处理程序)。如果开发人员没有提供实现,则编译器会在编译时移除签

名。下列条件适用于分部方法: 分部类型的两个部分中的签名必须匹配。 方法必须返回 void。 不允许使用访问修饰符或属性。分部方法是隐式私有的。

15)value 隐式参数 value 用于设置访问器以及添加或移除事件处理程序。

16)where 查询子句 where 子句用在查询表达式中,用于指定将在查询表达式中返回数据源中的哪些元素。它将一个布尔条件(“谓词”)应用于每个源元素(由范围变量引用),并返回满足指定条件的元素。一个查询表达式可以包含多个 where 子句,一个子句可以包含多个谓词子表达式。

fixed

float

for

foreach

get

goto

if

implicit

in

int

interface

internal

is

lock

long

namespace

new

null

object

out

override

partial

private

protected

public

readonly

ref

return

sbyte

sealed

set

short

sizeof

stackalloc

static

struct

switch

this

throw

true

try

typeof

uint

ulong

unchecked

unsafe

ushort

using

value

virtual

volatile

volatile

void

where

while

yield

本文标签: 类型语句方法