none
Двумерный массив и оператор foreach RRS feed

  • Вопрос

  • Здраствуйте!!!

    У меня в процессе изучения Оператора foreach, возник вопрос :

    Можно ли с помощью foreach, проциклировать этот двумерный массив?
    Да или нет, если Да то пожалуйста приведите пример!

    Console.WriteLine("\tДвумерный массив:");
    int[,] c = new int[2,3]{{2,-1,8},{7,2,-4}};
    Например, как проциклировали вот этот ступенчатый массив:
    Console.WriteLine("\tСтупенчатый масив:");
                int[][] b = new int[3][]; // Ступенчатый массив
                     b[0] = new int[5] { 2, 4, -5, 9, 12 };
                     b[1] = new int[3] { 3, 10, -2 };
                     b[2] = new int[4] { 6, 2, 15, -1 };
    
                     foreach (int[] x in b)
                     {
                         foreach (int y in x) Console.Write("\t"+y);
                         Console.WriteLine();
                     }
    А то что-то у меня не получается, наверное нужно использовать класс Array!!!
    • Перемещено Siddharth Chavan 1 октября 2010 г. 21:58 MSDN Forums Consolidation (От:Visual C#)
    2 ноября 2009 г. 8:17

Ответы

  • В случае обычного двумерного массива, использование оператора foreach приведет к последовательного построчному перечислению элементов, как и в случае одномерных массивов
    int[,] a = { { 1, 3 }, { 4, 5 } };
                foreach (int x in a)
                {
                    Console.WriteLine(x);
                }
    
    Вывод
    1
    3
    4
    5
    Второй пример jagged-массива полностью корректен и работает.
    • Помечено в качестве ответа I.Vorontsov 3 ноября 2009 г. 6:30
    2 ноября 2009 г. 9:00
  • А не все в порядке не доглидел SORRY!!!

    Аказывается foreach легко работает с двумерным массивом , а я то думал как то будет по другому!!!

    Ладно Спасибо!!!!
    • Помечено в качестве ответа I.Vorontsov 3 ноября 2009 г. 6:29
    2 ноября 2009 г. 9:34
  • Возможно и таким образом: Двумерные массивы и foreach
    • Предложено в качестве ответа I.Vorontsov 2 ноября 2009 г. 11:58
    • Помечено в качестве ответа I.Vorontsov 3 ноября 2009 г. 6:31
    2 ноября 2009 г. 11:58

Все ответы