Назад Вперед Содержание

Ступенчатый (jagged) массив

Двумерный массив можно представить в виде таблицы, в которой длина каждой строки остается неизменной по всему массиву. Но в C# можно также создавать специальный тип двумерного массива, называемый ступенчатым массивом.

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

Ступенчатые массивы объявляются с помощью ряда квадратных скобок, в которых указывается их размерность. Например, для объявления двумерного ступенчатого массива служит следующая общая форма: тип [][] имя массива = new тип[размер] [];

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

Пример 1

Давайте рассмотрим пример использования ступенчатого массива:

Пример 2

Еще один пример использования ступенчатого массива:

Свойство Length

Пример 3

Давайте рассмотрим пример использования ступенчатого массива:

Пример 4

Еще один пример использования ступенчатого массива:

Свойство Length

Все массивы являются объектами и у них есть некоторые свойства. Самым полезным для нас будет свойство Length, которое возвращает количество элементов в массиве (во всех размерностях)

static void Main(string[] args)
{
   int[] numbers = new int[5];
   int size = numbers.Length; // size = 5 
}

Ступенчатые массивы находят полезное применение не во всех, а лишь в некоторых случаях. Так, если требуется очень длинный двумерный массив, который заполняется не полностью, т.е. такой массив, в котором используются не все, а лишь отдельные его элементы, то для этой цели идеально подходит ступенчатый массив.

И последнее замечание: ступенчатые массивы представляют собой массивы масси­ вов, и поэтому они не обязательно должны состоять из одномерных массивов. Напри­ мер, в приведенной ниже строке кода создается массив двумерных массивов.

int[][,] jagged = new int[3][,];

В следующей строке кода элементу массива jagged[0] присваивается ссылка на массив размерами 4?2. jagged[0] = new int[4, 2];

А в приведенной ниже строке кода элементу массива jagged[0][1,0] присваива­ ется значение переменнойi. jagged[0][1,0] = i;

Назад Вперед Содержание