1. 关键字
- 关键字: 是预定义的保留标识符,对编译器有特殊意义。(除非前面有 @ 前缀,否则不能在程序中用作标识符。 例如,@if 是有效标识符,而 if 则不是,因为 if 是关键字。)
- 常见的关键字:
2. 类型
C# 的类型一共分为两类,一种是值类型(Value Type),一类是引用类型(Reference)。
值类型: 直接存储其值;值类型变量声明后,不管是否赋值,编译器为其分配内存;值类型的实例通常是在线程栈上分配的(静态分配),但在某些情形下可以存储在堆上。
引用类型: 存储其对值的引用;引用类型声明一个类时,只在栈中分配一小片内存用于容纳一个地址,并没有为其分配堆上的内存空间。当使用 new 创建一个类的实例时,分配堆上的空间,并把堆上空间的地址保存到栈上分配的小片空间中;引用类型的对象总是在进程堆中分配(动态分配)
常见的值类型: 数值类型(int、long、double、float等)、bool类型(true、false)、char类型、枚举类型(enum)、结构体类型(struct)、元组类型(tuple)、可空类型(null);(即:byte,short,int,long,float,double,decimal,char,bool 和 struct 统称为值类型。)
常见的引用类型: 数组,用户定义的类、接口、委托,object,字符串。(即:string 和 class统称为引用类型。)