【发布时间】:2011-07-02 13:25:42
【问题描述】:
在 .NET 中,值类型对象(例如 int)存储在内存中。
引用类型对象需要为引用和对象分别分配内存,并且对象存储在 .NET 对象堆中。
而Array是在堆中创建的,那么int[]等值类型的数组如何存储在堆中呢?是不是意味着值类型的对象可以不用装箱就可以存放在堆中?
【问题讨论】:
-
我会说一切都存储在“内存”中(嗯......除了可能没有真正存储的常量和优化为无用或常量的变量)。您只能谈论内存的“类型”(寄存器/RAM/磁盘,仅谈论可直接访问的内存,因此跳过缓存)或其组织(堆栈,堆,???):-)您可能的意思“堆栈内存”,但正如您所发现的那样,这是错误的。
-
'值类型对象,例如 int 存储在内存中'听起来有点误导我。堆——当然——也只是一种内存.. ?
标签: c# .net heap-memory