Многомерные массивы в C#

Многомерные массивы в C#

Многомерные массивы в C#

До сих пор мы рассматривали одномерные массивы. Но массивы в C# могут иметь более одного измерения. И в сегодняшней статье мы рассмотрим что это означает на практике?

Одномерные массивы полезны для представления данных, выраженных таким образом, чтобы каждое значение было связано с одним индексом.

Например, предположим, вам нужно сохранить среднюю температуру за последние 30 дней. Вы могли бы создать массив double из 30 элементов.

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

Но что, если вам нужно было хранить среднесуточную температуру в течение целого года?

Конечно, вы могли бы использовать массив из 365 (или 366) элементов, но это немного усложнило бы получение результата за определенный день. Возможно, лучшим подходом было бы использовать многомерный массив.

Пример Многомерных массивов

Взгляните на следующий пример:

double[,] temperatures = new double[12, 31];

Строка выше создает многомерный массив, размеры которого равны 12 и 31. Визуально это помогает представить это как таблицу (или матрицу) с 12 строками и 31 столбцом.

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

В следующем примере мы назначаем среднюю температуру на 15 января:


temperatures[0, 14] = 15;

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


int[,] multi = { { 1, 1 }, { 2, 3 }, { 5, 8 }, { 13, 21 } };

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

Наконец, как мы проходим через многомерный массив?

Таким же образом мы проходим через одномерный цикл: используя for или foreach. Единственное отличие состоит в том, что в случае многомерных массивов вам потребуется n вложенных структур для каждого, где n — количество измерений массива.

Массивы являются одной из основных структур данных в языке C#. Тем не менее, они действительно увлекательны, когда вы вникаете в то, что делает их особенными и очень полезными в ваших приложениях. Эффективно используйте массивы, и вы сможете построить что угодно.

Таким образом, многомерный массив это структура языка C# предоставляющая удобный способ для сохранения и доступа к множеству данных.

Источник