出于好奇,我制作了一个小型控制台应用程序,如下代码所示:
class Program
{
static void Main(string[] args)
{
byte[] b = new byte[Int32.MaxValue / 4]; // about 536870911
Console.ReadLine();
}
}
当我运行它并进入Console.ReadLine()
时,我检查任务管理器。它告诉我,我的应用程序只使用2508KB的内存。 怎么可能?
答案 0 :(得分:2)
以下是我的结果:
在调试模式下:
在发布模式下:
黄色是专用字节,红色是工作集。在发布模式下,由于没有使用您的变量,因此编译器会对其进行优化。