1、C# 是纯OO语言,Object 是所有类型的根。
2、Object 建立了一个分支ValueType,ValueType继承Object,本身是class,是引用类型。
3、ValueType 是所有值类型的根,值类型包括结构和枚举类型,结构包括BCL的结构(基础类型)和自定义的结构。
4、所有的结构直接继承ValueType,并且是隐式的继承。
4、枚举类型间接继承ValueType,枚举类型直接继承Enum,Enum继承ValueType,Enum是class,是引用类型。也就是说,Enum和枚举类型不是同一个概念,可以认为枚举类型是Enum的子类,隐式继承。
5、引用类型包括类、接口、委托、数组、string等。
6、值类型的使用场景(这里的值类型主要是指结构):小对象,只表现数据,不包含复杂的业务逻辑,不表现抽象和多级别的层次结构。