- 引用数据类型是存放在堆里,而值数据类型存放在堆栈里。
- 堆在C#里有称托管堆。
- 堆上的内存是向上分配,而堆栈的内存是向下分配的。
- 如:int [] integers = new int[32]; int [] copy = integers;此时integers和copy指针同时指向分配给数组的堆的首地址。
- 32位机每个处理器上的每个进程都可以用4GB的内存。
- 32位处理器上,需用4B存储一个地址。
- 引用是类型安全的指针;
- Customer arabel; arabel = new Customer(); 其中声明一个Customer引用,和引用名arabel,引用是由堆栈分配其空间,包含的是地址,占4字节空间;Customer的实例是放在内存中的堆中而非堆栈中,堆栈中是放值数据类型的,将它内存地址赋给arabel。
- 值类型在引用类型中声明为字段,它们就内联存储在堆中。