1、c#中的关键字关键字是对编译器具有特殊意义的预定义保留标识符。它们不能在程序中用作标识符,除非它们有一个 前缀。例如,if 是有效的标识符,但 if 不是,因为 if 是关键字。下面是列出的所有的关键字在 C# 程序的任何部分都是保留标识符:abstract as base boolbreak byte case catchchar checked class constcontinue decimal default delegatedo double else enumevent explicit extern Falsefinally static float forforeach go
2、to if implicitin in(泛型修饰符)int interfaceinternal is lock longnamespace new null objectoperator out out(泛型修饰符)overrideparams private protected publicreadonly ref return sbytesealed short sizeof stackallocstatic string struct switchthis throw True trytypeof uint ulong uncheckedunsafe ushort using virtu
3、alvoid volatile while修饰符(C# 参考)修饰符用于修改类型和类型成员的声明。 本节介绍 C# 修饰符:修饰符 用途访问修饰符 public private internal protected指定声明的类型和类型成员的可访问性。Public:类型与类型成员的访问修饰符,公共访问是允许访问的最高级别Private:私有访问是允许访问的最低级别,只能在声明它们的类或结构体中访问Internal:只有在同一程序集中才可以访问Protected:受保护成员可在其所在的类与派生类访问abstract 在类中使用 adstract 指示某个类只能是其他类的基类。不可被实例化,用途是派
4、生出其他非抽象类.当从抽象类派生非抽象类时,这些非抽象类必须具体实现所继承的所有抽象成员,从而重写那些抽象成员(对抽象方法的重写必用 override,虚方法的关键字 virtual,对虚方法的重写也要用 override)。const 指定无法修改字段或局部变量的值。声明常量的关键字event 声明事件。常与委托(delegate)一起使用extern 指示在外部实现方法。new New 运算符:用于创建对象和调用构造函数。New 修饰符:用于向基类成员隐藏继承成员。override 要扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现,必须使用 override 修饰符。parti
5、al 在整个同一程序集中定义分部类、结构和方法。分部类型定义允许将类、结构或接口的定义拆分到多个文件中。readonly 声明一个字段,该字段只能赋值为该声明的一部分或者在同一个类的构造函数中。sealed 指定类不能被继承。密封类关键字,密封类不能被继承(不想让其它类继承可以声明为密封类)static 静态成员的关键字,静态成员可以直接通过类来调用(在动静态调用都可以),动态成员必需通过对象来调用unsafe 声明不安全的上下文。Unsafe static void test() Unsafe virtual 虚方法的关键字,不含方法实现,用 override 对其实现,不含startic(
6、多用于多态性)语句关键字(C# 参考)语句是程序指令。 除了下表中引用的主题中介绍的以外,语句都是按照顺序执行的。下表列出了 C# 语句关键字。 有关不用任何关键字表示的语句的更多信息,请参见语句(C# 编程指南) 。类别 C# 关键字选择语句 if, else, switch, case迭代语句 do, for, foreach, in, while跳转语句 break, continue, default, goto,return,yield异常处理语句 throw, try-catch, try-finally, try-catch-finally检查和未检查 checked, unch
7、eckedfixed 语句 fixedlock 语句 lock命名空间关键字(C# 参考)本节描述与 using 命名空间关联的关键字和运算符: Namespace 命名空间 using .Operator : 运算符 外部别名volatile volatile 关键字指示一个字段可以由多个同时执行的线程修改。 声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。 这样可以确保该字段在任何时间呈现的都是最新的值。 volatile 修饰符通常用于由多个线程访问但不使用 lock 语句对访问进行序列化的字段。Operator Keywords (C# Reference)
8、用于执行杂项操作,例如创建对象,检查对象的运行时类型,获取类型的大小,等等。本节介绍下列关键字: as 将对象转换为可兼容类型。 is 检查对象的运行时类型。 new new 运算符 创建对象。 new 修饰符 隐藏继承成员。 new 约束 限定类型参数。 sizeof 获取类型的大小。 typeof 获取类型的 System.Type 对象。 true true 运算符 返回布尔值 true 表示真,否则返回 false。 true 表示布尔值 true。 false false 运算符 返回布尔值 true 表示假,否则返回 false。 false 表示布尔值 false。 stacka
9、lloc 在堆栈上分配内存块。在语句一节中介绍了下列可用作运算符和语句的关键字: checked 指定已检查的上下文。 unchecked 指定未检查的上下文。Conversion Keywords (C# Reference)本节描述在类型转换中使用的关键字: explicit implicit operator访问关键字(C# 参考)本节介绍下列访问关键字: base访问基类的成员。 this引用类的当前实例。文字关键字(C# 参考) C# 有下列文字关键字: null true false default上下文关键字(C# 参考)上下文关键字用于提供代码中的特定含义,但它不是 C# 中的
10、保留字。本节介绍下面这些上下文关键字:关键字 说明add 定义一个自定义事件访问器,客户端代码订阅事件时将调用该访问器。dynamic 定义一个引用类型,实现发生绕过编译时类型检查的操作。get 为属性或索引器定义访问器方法。global 指定未以其他方式命名的默认全局命名空间。Partial 部分 在整个同一编译单元内定义分部类、结构和接口。remove 定义一个自定义事件访问器,客户端代码取消订阅事件时将调用该访问器。set 为属性或索引器定义访问器方法。value 用于设置访问器和添加或移除事件处理程序。var 使编译器能够确定在方法作用域中声明的变量的类型。where 将约束添加到泛型
11、声明。 (另请参见 where) 。yield 在迭代器块中使用,用于向枚举数对象返回值或发信号结束迭代。C# 3.0 中引入的所有查询关键字也都是上下文相关的。有关更多信息,查询关键字(C# 参考)本节包含查询表达式中使用的上下文关键字。本节内容子句 说明from 指定数据源和范围变量(类似于迭代变量) 。where 根据一个或多个由逻辑“与” 和逻辑“ 或”运算符(& 或 |)分隔的布尔表达式筛选源元素。select 指定当执行查询时返回的序列中的元素将具有的类型和形式。group 按照指定的键值对查询结果进行分组。into 提供一个标识符,它可以充当对 join、group 或 select 子句的结果的引用。orderby 基于元素类型的默认比较器按升序或降序对查询结果进行排序。join 基于两个指定匹配条件之间的相等比较来联接两个数据源。let 引入一个用于存储查询表达式中的子表达式结果的范围变量。in join 子句中的上下文关键字。on join 子句中的上下文关键字。equals join 子句中的上下文关键字。by group 子句中的上下文关键字。ascending orderby 子句中的上下文关键字。descending orderby 子句中的上下文关键字。