我在C#编程练习中尝试创建一个长整型数组,长度为0x1fffffff(十进制下为536,870,911),但是出现了System.OutOfMemoryException异常。
我的构建目标是x64系统,在Windows7 x64上运行VisualStudio2008,并拥有8GB的RAM。这应该足够支持这个数组(在JDK x64和CPP项目中可以正常工作)。
有什么想法?
const long MAX = 0x1fffffff; // 536870911 in base10
program.arr = new long[MAX];
for (long i = 0; i < MAX; i++)
{
program.arr[i] = i;
}