C#

Изучение языка C# для начинающих

26 уроков 53 задания Справочник Компилятор

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

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


C#

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

Видео урок:

Массивы позволяют хранить большой объем информации в одном месте. В языке 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 элементов мы можем применить функцию следующим образом: arr.Length. Эта запись выдаст число 3;
  • 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

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

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

Для создания динамического массива необходимо подключить специальную библиотеку, которая отвечает за это.
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#

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