我正在制作一个将数据存储在2D数组中的程序。我希望能够从此数组中删除行。我不知道为什么此代码不起作用:

for (int n = index; n < a.GetUpperBound(1); ++n)
{
     for (int i = 0; i < a.GetUpperBound(0); ++i)
     {
         a[i, n] = a[i, n + 1];
     }
}


有人可以帮我吗?我希望它删除单个行,并将其下面的所有行随机排列到一个位置。谢谢!

最佳答案

如果要删除项目,则需要创建一个新数组

尝试这样的事情

var arrayUpdated = new string[a.GetUpperBound(1)][a.GetUpperBound(0)-1];
for (int n = index; n < a.GetUpperBound(1); n++)
{
     for (int i = 0; i < a.GetUpperBound(0); i++)
     {
         arrayUpdated [i, n] = a[i, 1];
     }
}

08-07 09:27