• 值类型
变量直接包含它们自己的数据
局部变量总是放在栈(stack)中
• 引用类型
变量间接指向它们的数据
局部变量指向堆(heap)中的对象
枚举(enum) 值类型
结构(struct) 值类型
类(class) 引用类型
接口(interface) 引用类型
数组([ ]array ) 引用类型
委托(delegate) 引用类型
你可能对上面的例子感到奇怪,c#中的内在类如int,double怎么没有。C#规定这些内在类属于结构,C#称之为简单类型。简单类型和用户自定义类型之间的最大区别是前者有字面表达式(如42),而后者没有。
当然,还有第三种类型:指针。但指针只用在由unsafe关键字标识的非安全的代码中。