Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 二维字符数组的最大大小是多少?_C#_.net 3.5 - Fatal编程技术网

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问题和数组索引长度问题的影响,因此您的唯一限制是您自己的内存