我对Stack vs Heap之间的内存分配基础感到困惑.根据标准定义(每个人都说的东西),所有值类型都将被分配到堆栈,参考类型将进入堆.
现在考虑以下示例:
class MyClass
{
int myInt = 0;
string myString = "Something";
}
class Program
{
static void Main(string[] args)
{
MyClass m = new MyClass();
}
}
Run Code Online (Sandbox Code Playgroud)
现在,内存分配将如何在c#中发生?MyClass(即m)的对象是否会完全分配给堆?也就是说,int myInt和string myString既会去堆?
或者,该对象将分为两部分,并将分配给两个内存位置,即堆栈和堆?