C#在2D数组中移动了几列

时间:2013-11-27 13:19:26

标签: c# arrays shift dimension

我想把我的数组(两个暗淡的)转移到堆栈中 每列应平行移动(相同的步骤,相同的方向)。

转移后的数组之前的

数组

1 11 21 2 12 22
2 12 22 3 13 23
3 13 23 4 14 24
4 14 24 5 15 25
5 15 25 0 0 0

我尝试了array.copy,但它复制了数组,因为它是一个单维数组。所以它会搞乱其他专栏的转变。任何人都知道如何做到这一点......没有在整个数组上使用循环:D

1 个答案:

答案 0 :(得分:2)

只需使用数组。

int[,] array = new int[,]
{
    {1, 11, 12}, {2, 21, 22}, {3, 31, 33} 
};

for (int i = 1; i < array.GetUpperBound(0) + 1; i++ )
{
    for(int j=0; j < array.GetUpperBound(1) +1; j++)
    {
        if (i == array.GetUpperBound(0))
        {
            array[i, j] = 0;
        }
        else
        {
            array[i - 1, j] = array[i, j];
        }
    }
}