
C#语言的语法关键字
abstract:可以和类、方法、属性、索引器及事件一起使用,标识一个可以扩展但不能被实体化的、必须被实现的类或方法。 as:一个转换操作符,如果转换失败,就返回null。 base:用于访问被派生类或构造中的同名成员隐藏的基类成员。 catch:定义一个代码块,在特定类型异常抛出时,执行块内代码。 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:返回在堆上分配的一个内存块的指针。 struct:是一种值类型,可以声明常量、字段、方法、property、索引器、操作符、构造器和内嵌类型。 throw:抛出一个异常。 try:异常处理代码块的组成部分之一。try代码块包括可能会,抛出异常的代码。参阅catch和finally关键字。 typeof:一个操作符,返回传入参数的类型。 unchecked:禁止溢出检查。 unsafe:标注包含指针操作的代码块、方法或类。 using:当用于命名空间时,using关键字允许访问该命名空间中的类型,而无需指定其全名。也用于定义finalization操作的范围。 virtual:一个方法修饰符,标识可被覆载的方法。 volatile:标识一个可被操作系统、某些硬件设备或并发线程修改的attribute。
C# 类型体系包含下列几种类别:
值类型
引用类型
指针类型
值类型的变量存储数据,而引用类型的变量存储对实际数据的引用。引用类型也称为对象。指针类型仅可用于unsafe模式。
通过装箱和取消装箱,可以将值类型转换为引用类型,然后再转换回值类型。除了装箱值类型外,无法将引用类型转换为值类型。
值类型也可以为 null,这意味着它们能存储其他非值状态 。