Главная arrow Язык программирования C# arrow C# Полное руководство Герберт Шилдт arrow Двумерные массивы C# Полное руководство Герберт Шилдт

Двумерные массивы C# Полное руководство Герберт Шилдт

Простейшей формой многомерного массива является двумерный массив. Местоположение любого элемента в двумерном массиве обозначается двумя индексами. Такой массив можно представить в виде таблицы, на строки которой указывает один индекс, а на столбцы — другой.
В следующей строке кода объявляется двумерный массив integer размерами 10x20:
   int[ , ] table = new int[10, 20];
Обратите особое внимание на объявление этого массива. Как видите, оба его размера разделяются запятой. В первой части этого объявления синтаксическое обозначение
   [ , ]
означает, что создается переменная ссылки на двумерный массив. Если же память распределяется для массива с помощью оператора new, то используется следующее синтаксическое обозначение:
   int[10, 20]
В данном объявлении создается массив размерами 10x20, но и в этом случае его размеры разделяются запятой.
Для доступа к элементу двумерного массива следует указать оба индекса, разделив их запятой. Например, в следующей строке кода элементу массива table с координатами местоположения (3,5) присваивается значение 10:
   table[3, 5] = 10;
Ниже приведен более наглядный пример в виде небольшой программы, в которой двумерный массив сначала заполняется числами от 1 до 12, а затем выводится его содержимое.

// Продемонстрировать двумерный массив.

using System;

class TwoD {
   static void Main() {
      int t, i;
      int[ , ] table = new int[3, 4];

      for(t=0; t < 3; ++t) {
         for(i=0; i < 4; ++i) {
        table[ t , i ] = (t * 4) + i + 1;
            Console .Write (table [t, i] + " " );
         }
         Console.WriteLine();
      }
   }
}


В данном примере элемент массива table [0, 0] будет иметь значение 1, элемент массива table [0,1] — значение 2, элемент массива table [0,2] — значение 3 и т.д. А значение элемента массива table [2, 3] окажется равным 12. На рис. 7.1 показано схематически расположение элементов этого массива и их значений.
Image
Рис. 7.1. Схематическое представление массива table, созданного в программе TwoD
На заметку! Если вы ранее программировали на С, C++ или Java, mo будьте особенно внимательны, объявляя или организуя доступ к многомерным массивам в С#. В этих языках программирования размеры массива и индексы указываются в отдельных квадратных скобках, тогда как в C# они разделяются запятой.