我需要制作一个二维阵列,但是c#不会让我说它太大了,任何想法如何让它工作?
int[,] arrayName = new int[37153,18366];
答案 0 :(得分:2)
int数组的最大理论大小是2147483647,即int[] array = new int[2147483647]
,但你在这里遇到的问题是计算机运行了内存。
阅读本文以获取有关如何解决此问题的说明和提示: OutOfMemoryException on declaration of Large Array
答案 1 :(得分:1)
如果您没有使用整个阵列(在您的情况下是2,7GB的RAM),您可以使用SELECT r.*, AVG(rr.rating_value) rating_value
FROM recipes r
INNER JOIN recipe_ratings rr ON r.recipeId = rr.recipeId
GROUP BY r.recipeId
。
https://msdn.microsoft.com/de-de/library/xfhwa508(v=vs.110).aspx
替代方案:创建[] []数组。在这种情况下,您必须初始化每一行。
但您可以使用Dictionary
轻松访问每个单元格。
arrayName[row][col]