gpt4 book ai didi

c# - 为什么这个C#程序在24GB内存的64位电脑上会跑完内存?

转载 作者:行者123 更新时间:2023-11-30 19:28:34 25 4
gpt4 key购买 nike

这是我的代码:

public class Class1
{
public int[][] binArray;
public Class1()
{
binArray = new int[1000][];
for (int i = 0; i < 1000; i++)
{
binArray[i] = new int[61608];
}
}
}
class Program
{
static void Main(string[] args)
{
Class1 c1 = new Class1();
Class1 c2 = new Class1();
Class1 c3 = new Class1();
Class1 c4 = new Class1();
Class1 c5 = new Class1();
Class1 c6 = new Class1();
Class1 c7 = new Class1(); // Memory will run out at about this point
Class1 c8 = new Class1();
Class1 c9 = new Class1();
Class1 c0 = new Class1();
Console.WriteLine();
}
}

Class1是用来存放数组的,我想它会得到足够61608*4字节的内存碎片给24GB内存的机器,为什么我初始化的时候还是抛出out of memory exception七年级?

最佳答案

这几乎可以肯定是因为您将可执行文件构建为 32b。一旦超过 ~3GB 内存,即使在 64b 机器上运行,它仍然会崩溃。编译为 64b,你会没事的。

关于c# - 为什么这个C#程序在24GB内存的64位电脑上会跑完内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15076388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com