我需要创建一个二维数组,但是c#不允许我创建,提示数组太大,有什么办法可以解决?
int[,] arrayName = new int[37153,18366];
一个int数组的最大理论大小是2147483647,即int[] array = new int[2147483647]
。但你在这里遇到的问题是计算机内存不足。
阅读以下内容了解说明和解决此问题的提示: 声明大型数组时出现OutOfMemoryException
字典
。
https://msdn.microsoft.com/de-de/library/xfhwa508(v=vs.110).aspx
替代方案:创建一个[][]数组。在这种情况下,您必须初始化每一行。但是您可以轻松访问每个单元格,使用arrayName[row][col]
。
int[][] arrayName = new int[37153][];
for(int i=0; i<arrayName.Length; i++)
arrayName[i] = new int[18366];
<gcAllowVeryLargeObjects>
。 - dbc