Массивы массивов

 

В языке С# допускается создавать массивы массивов, называемые также несимметричными массивами или ступенчатыми.

Рисунок 1 – пример ступенчатого массива

 

На рисунке 1 приведен массив, содержащий 5 одномерных массивов разного размера. При необходимости возможно объединение не только одномерных массивов, но и многомерных. Однако работа с подобными структурами требует хорошего пространственного воображения.

Объявление массива массивов выполняется при помощи нескольких пар квадратных скобок.

string[][] JaggedArray = new string[2][];

Так как мы указали размерность данного ступенчатого массива, равную двум, то необходимо инициализировать два массивы строк:

JaggedArray[0] = new string[2];

JaggedArray[1] = new string[4];

Доступ к элементам данного массива осуществляется следующим образом:

JaggedArray[1][2] = “qwerty”;

При помощи первой пары квадратных скобок указывается индекс массива, а при помощи второй – индекс элемента в массиве.

В языке С# допускается создание вложенных ступенчатых массивов.

Например:

string[,,,][,][,,,] CompArray;

Данная запись означает создание ссылки на четырехмерный массив, содержащий двумерный массив, который в свою очередь содержит четырехмерный массив строк, однако применение подобных структур вызывает сложности при написании и исправлении программы.