我有二维数组:myarray [5,6]; 我的阵列已经满了。但是,我仍然希望在其中添加更多元素。 那么,如何扩展数组的大小呢? 要么 如何声明动态2D数组? (抱歉问愚蠢的问题:P)
答案 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:
答案 2 :(得分:0)
我担心你要求解决错误的问题。 您不应该(在大多数情况下)手动调整阵列大小。使用和通用列表(或通用列表的通用列表)已在此处建议
请阅读此咆哮:Arrays considered somewhat harmful
考虑使用其他人已经建议的通用列表。
答案 3 :(得分:-1)
如果需要扩展大小,则必须创建新数组。如果你看右边,你可以看到答案。