C# 二维字符数组的最大大小是多少?
我有一个二维数组:C# 二维字符数组的最大大小是多少?,c#,.net-3.5,C#,.net 3.5,我有一个二维数组: char[,] DataFile; 创建对象时: DataFile=new char[45000,6000] 它抛出内存不足异常 在.Net 3.5中,对象的最大大小是多少?字符数组的最大长度是多少?已经很好地解释了各种情况下的限制。没有实际限制,它只取决于您的计算机有多少RAM,以及运行时可以分配多少连续内存 那要看情况了 显然,安装了多少物理内存(RAM)和/或设置了多大的虚拟内存(swap)都很重要 在任何情况下,32位Windows中的最大对象大小为2GB。但还
char[,] DataFile;
创建对象时:
DataFile=new char[45000,6000]
它抛出内存不足异常
在.Net 3.5中,对象的最大大小是多少?字符数组的最大长度是多少?已经很好地解释了各种情况下的限制。没有实际限制,它只取决于您的计算机有多少RAM,以及运行时可以分配多少连续内存 那要看情况了 显然,安装了多少物理内存(RAM)和/或设置了多大的虚拟内存(swap)都很重要 在任何情况下,32位Windows中的最大对象大小为2GB。但还有另一个限制:进程映像必须具有所需大小的连续内存块
您的阵列大约有514MB大。您应该自己检查一下是否有足够的可用资源。您是以x86还是x64的形式构建的?我不知道,但我知道您似乎在做的事情(将一个大文件完全保存在内存中)很少是您需要或想要做的。我建议您使用IO streams动态访问和缓冲当前需要的文件部分。这取决于内存量。您分配的内存约为1 GB,字符为4字节。@Casperah:char为2字节(Unicode)这是错误的。请在postingI根据您当前的情况回答之前检查源代码,您的应用程序不受2gb问题和数组索引长度问题的影响,因此您的唯一限制是您自己的内存