0

可能重复:
如何在 C# 中调整多维 (2D) 数组的大小?

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

4

4 回答 4

2

你想要的是一个Lists List

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);
于 2012-11-05T20:02:51.693 回答
0

您可以使用Array.Resize()

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

更新

抱歉,我只是错过了 2D:

看看这个问题

于 2012-11-05T19:55:59.973 回答
0

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

请阅读此咆哮:阵列被认为有些有害

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

于 2012-11-05T20:08:29.890 回答
-1

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

于 2012-11-05T19:56:04.670 回答