C# сдвигает несколько столбцов в двумерном массиве

Я хочу сместить мой массив (два тусклых) как стек.
Каждый столбец должен быть смещен параллельно (те же шаги, то же направление).

массив перед массивом после сдвига

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 ответ

Просто используя массивы.

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];
        }
    }
}
Другие вопросы по тегам