В языке С# допускается создавать массивы массивов, называемые также несимметричными массивами или ступенчатыми.
Рисунок 1 – пример ступенчатого массива
На рисунке 1 приведен массив, содержащий 5 одномерных массивов разного размера. При необходимости возможно объединение не только одномерных массивов, но и многомерных. Однако работа с подобными структурами требует хорошего пространственного воображения.
Объявление массива массивов выполняется при помощи нескольких пар квадратных скобок.
string[][] JaggedArray = new string[2][];
Так как мы указали размерность данного ступенчатого массива, равную двум, то необходимо инициализировать два массивы строк:
JaggedArray[0] = new string[2];
JaggedArray[1] = new string[4];
Доступ к элементам данного массива осуществляется следующим образом:
JaggedArray[1][2] = “qwerty”;
При помощи первой пары квадратных скобок указывается индекс массива, а при помощи второй – индекс элемента в массиве.
В языке С# допускается создание вложенных ступенчатых массивов.
Например:
string[,,,][,][,,,] CompArray;
Данная запись означает создание ссылки на четырехмерный массив, содержащий двумерный массив, который в свою очередь содержит четырехмерный массив строк, однако применение подобных структур вызывает сложности при написании и исправлении программы.