C#图解教程读书笔记(结构)

结构是值类型

C#图解教程读书笔记(结构)_第1张图片
C#图解教程读书笔记(结构)_第2张图片
分别声明一个类和一个结构,实例化后,结构直接保存在堆中。
所以当用一个对象给另一个对象赋值时会有不同:
在赋值后类类型是指向堆里同样的部分,所以cs2和cs1本质上是一样的。而结构类型则是复制值。类类型复制引用。
C#图解教程读书笔记(结构)_第3张图片

构造函数

可以调用隐士构造函数,也可以调用自己写的构造函数。
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。不允许声明析构函数,是隐式密封的,不能派生。

你可能感兴趣的:(C#)