Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
shwanoff
6 лет назад

Основы C#. Массивы

Массив – это коллекция однотипных данных, рассматриваемая как одно целое. То есть, мы определяем набор переменных одного типа, и можем обращаться к ним всем с помощью одного общего имени, а также при необходимости обратиться к каждому конкретному элементу. Массивы позволяют комфортно манипулировать наборами связанных данных. Массив можно представить себе как поезд. Каждый вагон представляет собой переменную. Вагоны сцеплены между собой, и мы можем рассматривать весь поезд как единое целое.

Что такое массив

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

Одномерный массив

Двумерный массив

Объявление массива задается в следующем формате

// Создаем одномерный массив из шести целых чисел.
int[] array = new int[6];

Теперь мы можем записать значения в этот массив. Это называется инициализация. Обратите внимание, что нумерация элементов массива ведется с нуля.

// Инициализируем массив значениями.
array[0] = 4;
array[1] = 8;
array[2] = 15;
array[3] = 16;
array[4] = 23;
array[5] = 42;

Мы можем сократить количество кода, объединив объявление и инициализацию массива, если все исходные данные заранее известны.

// Создаем и инициализируем массив одновременно.
int[] array2 = { 4, 8, 15, 16, 23, 42 };

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

// Выводим значение массива на консоль.
Console.WriteLine(array[3]);

// Изменяем значение массива и выводим на консоль.
array2[0] = array2[4] + array2[5];
Console.WriteLine(array2[0]);

Двумерный массив C#

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

// Создаем двумерный массив. 
// Обратите внимание, что массив не инициализирован.
int[,] mas = new int[2, 3];

или

// Создаем двумерный массив, инициализируем его и выводим одно значение на консоль.
int[,] mas2 = { { 1, 2, 3 }, { 4, 5, 6 } };

И соответственно для обращения к элементам необходимо указывать адрес в двух измерениях:

Console.WriteLine(mas2[0, 1]);

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

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

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

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

Объявление массива массивов (его еще называют зубчатый массив) немного отличается от объявления обычного массива.

// Создаем массив массивов и записываем в него значения.
string[][] masmas = new string[4][];
masmas[0] = new string[] { "Item11", "Item12" };
masmas[1] = new string[] { "Item21", "Item22", "Item23", "Item24" };
masmas[2] = new string[] { "Item31", "Item32", "Item33" };
masmas[3] = new string[] { "Item41", "Item42" };

Перебор цикла

Для перебора элементов массива чаще всего используются циклы.Цикл – это управляющая конструкция языка программирования, которая позволяет выполнять многократное выполнение группы команд, при истинности заданного условия.Для перебора массива удобнее всего использовать специализированный цикл для коллекций foreach. Он позволяет перебрать все элементы коллекции, не беспокоясь о выходе за границы. Кроме того, он позволяет сократить количество написанного кода

// Перебираем все элементы двумерного массива с помощью цикла foreach.
foreach (int item in array)
{
   Console.WriteLine(item);
}

При необходимости можно использовать и другие циклы. Например аналогичное поведение мы можем записать и с помощью цикла for

// Перебираем все элементы двумерного массива с помощью цикла for.
for (int i = 0; i < array.Length; i++)
{
   int item = array[i];
   Console.WriteLine(item);
}

и с помощью цикла while

// Перебираем все элементы двумерного массива с помощью цикла while.
int j = 0;
while (j < array.Length)
{
   int item = array[j];
   Console.WriteLine(item);
   j++;
}

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

Заключение

В данной статье мы рассмотрели основы работы с массивами в языке программирования C#. Исходный код доступен в репозитории GitHub. Предыдущая статья Основы C#. Коментарии и переменные

0
0.053 GOLOS
На Golos с April 2018
Комментарии (1)
Сортировать по:
Сначала старые