【发布时间】:2011-05-28 02:26:22
【问题描述】:
我对堆栈与堆之间的内存分配基础知识感到困惑。根据标准定义(每个人都说),所有 Value Types 将被分配到 Stack 和 Reference 类型将进入 强>堆。
现在考虑以下示例:
class MyClass
{
int myInt = 0;
string myString = "Something";
}
class Program
{
static void Main(string[] args)
{
MyClass m = new MyClass();
}
}
现在,c# 中的内存分配是如何发生的? MyClass(即m)的对象会完全分配给Heap吗?也就是说,int myInt 和 string myString 都会进入堆?
或者,对象将被分成两部分,并分配到两个内存位置,即堆栈和堆?
【问题讨论】:
-
这能回答你的问题吗? What and where are the stack and heap?
标签: c# .net heap-memory stack-memory