【C#语言规范版本5.0学习】4、类型
C# 语言的类型划分为两大类:值类型 (Value type) 和引用类型 (reference type)。
值类型和引用类型都可以为泛型类型 (generic type),泛型类型采用一个或多个类型参数。类型参数可以指定值类型和引用类型。
type:
value-type
reference-type
type-parameter
第三种类型是指针,只能用在不安全代码中。
值类型与引用类型的不同之处在于:
值类型的变量直接包含其数据,而引用类型的变量存储对其数据的引用 (reference),后者称为对象 (object)。
对于引用类型,两个变量可能引用同一个对象,因此对一个变 量的操作可能影响另一个变量所引用的对象。
对于值类型,每个变量都有自己的数据副本,对一个变量的操作不可能影响另一个变量。
C# 的类型系统是统一的,因此任何类型的值都可以按对象处理。C# 中的每个类型直接或间接地从 object 类类型派生,而 object 是所有类型的最终基类。
引用类型的值都被视为 object 类型,被简单地当作对象来处理。值类型的值则通过对其执行装箱和拆箱操作按对象处理。