1.堆和栈
内存分为堆空间和栈空间。
栈空间比较小,但是读取速度快
堆空间比较大,但是读取速度慢
栈的特征,数据先进后出。
堆的特征,堆中可以任意的读取和删除。
2.GC Garbage Controller垃圾回收
CLR的GC就是内存的管理机制。
垃圾回收会自动的帮我们将不用的内存释放掉。
3.值类型和引用类型
值类型:整数、bool、struct、char、小数
值类型需要一段单独的内存,用于存储单独的数据,单独定义的时候放在栈中。
引用类型:string、数组、自定义的类、内置的类
引用类型需要两段内存,第一段存储实际的数据,放在堆中,第二段是一个引用,指向堆。
在引用类型赋值时实际是指向了堆中新的位置,所以下面的例子输出的结果是66.
static void Main(string[] args)
{
test1();
Console.ReadKey();
}
static void test1()
{
Vector3 v3 = new Vector3();
v3.x = 1;
v3.y = 2;
v3.z = 2;
Vector3 v4 = new Vector3();
v4.x = 3;
v4.y = 3;
v4.z = 3;
v4 = v3;
v4.x = 66;
Console.WriteLine(v4.x);
}