扩展2D阵列大小?

时间:2012-11-05 19:51:18

标签: c#

  

可能重复:
  How to resize multidimensional (2D) array in C#?

我有二维数组:myarray [5,6]; 我的阵列已经满了。但是,我仍然希望在其中添加更多元素。 那么,如何扩展数组的大小呢? 要么 如何声明动态2D数组? (抱歉问愚蠢的问题:P)

4 个答案:

答案 0 :(得分:2)

你想要的是List List s。

List<List<int>> data = new List<List<int>>();

for(int i = 0; i < rowsToAdd; i++)
{
   List<int> newRow = new List<int>();
   for(int j = 0; j < columnsToAdd; j++)
   {
       newRow.Add(j);
   }
   data.Add(newRow);
}

然后添加一个新行:

List<int> nextRow = new List<int>(){0,1,2,3};
data.Add(nextRow);

答案 1 :(得分:0)

您可以使用Array.Resize()

var arr = new int[10];
Array.Resize(ref arr, arr.Length * 2); // doubles the array size

<强>更新

抱歉,我错过了2D:

看看this question

答案 2 :(得分:0)

我担心你要求解决错误的问题。 您不应该(在大多数情况下)手动调整阵列大小。使用和通用列表(或通用列表的通用列表)已在此处建议

请阅读此咆哮:Arrays considered somewhat harmful

考虑使用其他人已经建议的通用列表。

答案 3 :(得分:-1)

如果需要扩展大小,则必须创建新数组。如果你看右边,你可以看到答案。