通用类型系统
对于 .NET 中的类型系统,请务必了解以下两个基本要点:
- 它支持继承原则。 类型可以派生自其他类型(称为基类型)。 派生类型继承(有一些限制)基类型的方法、属性和其他成员。 基类型可以继而从某种其他类型派生,在这种情况下,派生类型继承其继承层次结构中的两种基类型的成员。 所有类型(包括 System.Int32 (C# keyword: int) 等内置数值类型)最终都派生自单个基类型,即 System.Object (C# keyword: object)。 这样的统一类型层次结构称为通用类型系统 (CTS)。 若要详细了解 C# 中的继承,请参阅继承。
- CTS 中的每种类型被定义为值类型或引用类型。 这些类型包括 .NET 类库中的所有自定义类型以及你自己的用户定义类型。 使用 struct 关键字定义的类型是值类型;所有内置数值类型都是 structs。 使用 class 或 record 关键字定义的类型是引用类型。 引用类型和值类型遵循不同的编译时规则和运行时行为。
下图展示了 CTS 中值类型和引用类型之间的关系。
屏幕截图显示了 CTS 值类型和引用类型。
INT32就是隐式继承System.Object
可以隐式继承System.Object