一、数组
System.Array基类
多维数组:矩形数组(表示方法不同于C语言),交错数组(C语言不具备)
二、枚举类型
.net类型系统包括:类、接口、枚举、结构和委托。
System.Enum类类型
三、结构类型
关键字struct,“轻量级的类类型”,支持封装,但不能继承。
可以用new来创建结构变量,但也可以不用new
四、值类型和引用各类型
System.ValueType System.object
1.赋值操作
结构类型是值类型,它的赋值操作会在栈中创建一个新的副本;
而对于引用类型,则只是在内存中重定向引用变量的引用,也就是在栈中创建了堆中实际对象的引用的副本;
包含引用类型的值类型,浅复制,也就是对于值类型中包含的引用类型的赋值,仍然只是复制了引用而已,若要实现深复制,需要实现IClonable接口。
2.引用类型的传递
分为默认的传递方式(值传递)和引用传递(ref或out关键字)
按值传递引用类型--被调用者可以改变对象的状态数据的值,但不能改变所引用的对象,也就是不能使其改变成为指向另一个对象的引用。
按引用传递的引用类型--既可以改变状态对象数据的值,又可以重新new一个对象并指向它,也就是可以改变所引用的对象。
值类型必须派生自System.ValueType;分配在栈上;
引用类型则派生自除了System.ValueType以外的任意类型;分配在托管堆上。
3.可空类型
?操作符和??操作符……