构成托管代码:通用类型系统
算法+数据结构=程序,而数据结构在微软.NET Framework平台中的形式就是通用类型系统(Common Type System),简称CTS
CTS构成了.NET Framework的公共语言运行库的基础,它为.NET平台的多语言特性提供了支持。
CTS不仅定义了所有的数据类型,并提供了面向对象的模型以及各种语言需要遵守的标准。
通用类型系统:
1. 引用类型(类、接口、数组、字符串、委托和其他的)和值类型(注意结构类型和枚举类型)
2. 值类型和引用类型之间的相互转换:装箱(值类型转为引用类型)和拆箱(引用类型转为值类型)
3. 类型转换
值类型和引用类型之间的基本区别是:
1.值类型的单独实例分配在堆栈上。
2.引用类型的实例只在堆栈上分配了对其实际企的引用,值本身分配在堆上。
类型转换
1.隐式强制转换
2.显示转换
公共语言规范(CLS)
1.CLS 定义了 CTS 的一个子集(很大一部分),如果语言需要与他符合CLS的语言进行互操作,则必须遵守该规范。
2.需要注意的有关CLS规范的重要一点是,它们只适用于类型的外部可见的那些方面。
特殊系统类型
1.泛型
.NET Framework 2.0在System.Collections.Generic和System.Collecti ons.ObjectMode 命名空间中提供了多个泛型集合类。使用这些类将可以取得以下优势:
1>可重用性
2>类型安全
3>性能
2.Nullable 类型
1>所有的Nullable类型都使用泛型System.Nullable结构进行实例化。
2>Nullable 类型在使用时与普通数据类型一样方便,因为大多数属性和方法都是通过System.Nullable结构实现的。