#9 - Работа с массивами (3 типа массивов)

#9 - Работа с массивами (3 типа массивов)

Массивы очень полезны, ведь в них можно хранить большое количество информации. В уроке мы изучим три типа массивов. Это такие массивы, как: одномерный, многомерный и динамический массив.

Видеоурок

Массивы позволяют хранить большой объем информации в одном месте. В языке C# можно найти несколько основных типов массивов. 

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

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


В массивах отсчет начинается с 0, поэтому первый элемент по индексу будет равен 0, второй - 1 и так далее.


Примеры создания массива:

char[] stroka = new char[2]; // Создание пустого массива
int numbers[]; // Будет считаться ошибкой

int[] nums = new int[4];
nums[0] = 1; // Добавление элементов в массив из 4 элементов

int[] nums2 = new int[] { 1, 2, 3, 5 }; // Присвоение всех значений сразу

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


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

  • Length - возвращает количество элементов в массиве. К примеру, создадим массив arr и укажем для него 3 элемента. При вызове функции будет выдано число 3: arr.Length;
  • Arrays.Clear - очищает массив и устанавливает в качестве новых значений параметр. Пример:
int[] arr = new int[] { 1, 2, 3, 5 };
Array.Clear(arr, 0, arr.Length); // Установит повсюду 0
Console.Write(arr[1]); // Выведет значение 0
  • Arrays.CopyTo - копирует один массив в другой. Пример:
int[] arr = new int[] { 1, 2, 3, 5 }; // Основной массив
int[] newOne = new int [4]; // Новый массив
arr.CopyTo(newOne, 0); // Копирование начиная с элемента под индексом 0
Console.Write(newOne[2]); // Выведет 3

Динамический массив

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


Удобства динамических массивов заключается в наборе функций, что позволяют динамично добавлять, удалять, находить и редактировать значения внутри массива.


При работе с динамическими массивами необходимо использовать класс Generic. Подключаем его вначале файла:

using System.Collections.Generic;

После подключения класса создаем динамичный массив и помещаем в него данные за счёт метода Add:

List<string> words = new List<string> ();
words.Add("Простые слова,");
words.Add("но они являются");
words.Add("элементами массива");

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

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


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


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

int[,] x = { { 0, 34, 2 }, { 3, 4, 5 } };
Console.Write(x[0, 1]); // Выведет 34

// Можно их сразу не присваивать
char [,] symbols = new char[5,5];
symbols [0, 1] = 'A';

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

x[0, 1] = 1; // Вместо 34 теперь будет 1

Исходный код

Весь код будет доступен после подписки на проект!

Онлайн редактор кода

Загрузка...

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Уроки C# под Unity 5 для начинающих
9 уроков
Изучение C#, ASP.NET и создание Windows программ
Программа на C# .NET Windows Forms
7 уроков
Изучение ASP.NET Core MVC. Создание сайтов на C#
10 уроков
Комментарии для сайта Cackle