谢谢托马斯,您的解释非常有帮助,但是您实施的解决方案太慢了。我对其进行了修改,以充分利用Array.Copy。
void ResizeArray<T>(ref T[,] original, int newCoNum, int newRoNum) { var newArray = new T[newCoNum,newRoNum]; int columnCount = original.GetLength(1); int columnCount2 = newRoNum; int columns = original.GetUpperBound(0); for (int co = 0; co <= columns; co++) Array.Copy(original, co * columnCount, newArray, co * columnCount2, columnCount); original = newArray; }在这里,我假设行多于列,因此我将数组构造为[列,行]。这样一来,我就可以在一列中对整个列使用Array.Copy(一次快于一个单元格)。
它仅可用于增加数组的大小,但也可以对其进行调整以减小大小。



