结构是值类型
分别声明一个类和一个结构,实例化后,结构直接保存在堆中。 所以当用一个对象给另一个对象赋值时会有不同: 在赋值后类类型是指向堆里同样的部分,所以cs2和cs1本质上是一样的。而结构类型则是复制值。类类型复制引用。
构造函数
可以调用隐士构造函数,也可以调用自己写的构造函数。 Simple类:
struct Simple
{
public int x;
public int y;
public Simple(int a, int b)
{
x = a; y = b;
}
}
构造函数:
Simple s1 = new Simple();
Simple s2 = new Simple(1,2);
Simple s1; //不能调用成员,要赋值
struct本身派生自object的System.ValueType。不允许声明析构函数,是隐式密封的,不能派生。