abstract可以和类、方法、属性、索引器及事件一起使用,标识一个可以扩展但不能被实体化的、必须被实现的类或方法。
as一个转换操作符,如果转换失败,就返回null。
base用于访问被派生类或构造中的同名成员隐藏的基类成员。
catch定义一个代码块,在特定类型异常抛出时,执行块内代码。参见try和finally。
checked既是操作符又是语句。确保编译器运行时,检查整数类型操作或转换时出现的溢出。
const标识一个可在编译时计算出来的变量值,即一经指派不可修改的值。
delegate指定一个声明为一种委托类型。委托把方法封装为可调用实体,能在委托实体中调用。
enum表示一个已命名常量群集的值类型。
event允许一个类或对象提供通知的成员,他必须是委托类型。
explicit一个定义用户自定义转换操作符的操作符,通常用来将内建类型转换为用户定义类型或反向操作。必须再转换时调用显示转换操作符。
extern标识一个将在外部(通常不是c#语言)实现的方法。
finally定义一个代码块,在程序控制离开try代码快后执行。参见try和catch。
fixed在一个代码块执行时,在固定内存位置为一个变量指派一个指针。
foreach用于遍历一个群集的元素。
goto一个跳转语句,将程序执行重定向到一个标签语句。
implicit一个操作符,定义一个用户定义的转换操作符。通常用来将预定义类型转换为用户定义类型或反向操作。隐式转换操作符必须在转换时使用。
interface将一个声明指定为接口类型,即实现类或构造必须遵循的合同。
internal一个访问修饰符。
namespace定义一个逻辑组的类型和命名空间。
operator用来声明或多载一个操作符。
out标识一个参数值会受影响的参数,但在传入方法时,该参数无需先初始化。
params声明一个参数数组。如果使用,必须修改指定的最后一个参数。允许可选参数。
readonly标识一个变量的值在初始化后不可修改。
ref标识一个参数值可能会受影响的参数。
sealed防止类型被派生,防止方法和property被覆载。
sizeof一个操作符,以byte为单位返回一个值类型的长度。
stackalloc返回在堆上分配的一个内存块的指针。
structstruct是一种值类型,可以声明常量、字段、方法、property、索引器、操作符、构造器和内嵌类型。
throw抛出一个异常。
try异常处理代码块的组成部分之一。try代码块包括可能会抛出异常的代码。参阅catch和finally关键字。
typeof一个操作符,返回传入参数的类型。
unchecked禁止溢出检查。
unsafe标注包含指针操作的代码块、方法或类。
using当用于命名空间时,using关键字允许访问该命名空间中的类型,而无需指定其全名。也用于定义finalization操作的范围。
virtual一个方法修饰符,标识可被覆载的方法。
volatile标识一个可被操作系统、某些硬件设备或并发线程修改的attribute。
与C/C++的区别
C#中没有全局函数声明在类型声明的外部,方法也没有默认的返回类型,必须包含返回类型或void.