内存空间分为“栈”和“堆”两种。
值类型变量存储在栈中,存储的数据就是变量值本身。
引用类型变量也存储在栈中,但存储的值是引用地址,对应的数据保存在托管堆中。
相比值类型变量,获取引用类型变量的值,要多一步,所以值类型变量的访问速度较快。
为什么要用“堆”?
堆就好像银行,栈好像钱包。
人们不可能把所有的钱都放在钱包中带着。可以把一部分现金放在钱包中,另外再带上银行卡。
卡对应着存放在银行中的存款。银行卡就像引用地址,对应的存款就是数据。
参考资料:
学云网《从零到深入——天轰穿.NET4趣味编程视频教程》