可能重复:
如何在 C# 中调整多维 (2D) 数组的大小?
我有二维数组: myarray[5,6]; 我的阵列已经满了。但是,我仍然想在其中添加更多元素。那么,如何扩展数组的大小呢?或者如何声明动态二维数组?(很抱歉提出愚蠢的问题:P)
可能重复:
如何在 C# 中调整多维 (2D) 数组的大小?
我有二维数组: myarray[5,6]; 我的阵列已经满了。但是,我仍然想在其中添加更多元素。那么,如何扩展数组的大小呢?或者如何声明动态二维数组?(很抱歉提出愚蠢的问题:P)
你想要的是一个List
s 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);
您可以使用Array.Resize()
:
var arr = new int[10];
Array.Resize(ref arr, arr.Length * 2); // doubles the array size
更新
抱歉,我只是错过了 2D:
看看这个问题。
如果需要扩展大小,则必须创建一个新数组。如果你看右边,你可以看到一个答案。