Использование массивов

В С# есть свой синтаксис для работы с массивами. Для начала определимся с терминологией.

  1. Тип массива – это тип который, представляет нам массив элементов. Именно к объекту этого типа мы применяем операцию индексации (взятие элемента по индексу).
  2. Тип элементов массива – данный массив состоит из элементов одного типа. Этот тип и называется типом элементов массива.
  3. Длина массива – это количество элементов в массиве.

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

Фрагмент 1.10

string[] users = new string[10];

Следующий код создает массив с 10 элементами. По умолчанию, в данном случае, в каждой ячейке массива будет значение null (такое значение будет для всех ссылочных типов).

Над переменной users мы можем осуществлять следующие операции.

Фрагмент 1.11

string[] users = new string[10];

users[0] = “Roma”; //Запись в первый элемент
users[9] = “Vlad”; //Запись в последний элемент

Console.WriteLine(users.Length); //Чтение длины, выведет 10

string currentUser = users[users.Length - 1]; // Чтение последнего элемента, мы также могли бы использовать значение 0 

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

Фрагмент 1.12

string[] users = new string[10];

users[0] = “Roma”;
users[9] = “Vlad”;

Console.WriteLine(users[5 - 5]); //Выведет Roma

Перебор массивов циклами

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

Фрагмент 1.13

string[] users = new string[3];

users[0] = “Roma”;
users[1] = “Vlad”;
users[2] = “Igor”;

Console.WriteLine(“В системе есть следующие пользователи:”);

for(int i = 0; i < users.Length; i++)
{
	Console.WriteLine(users[i]);
}

Данный код выведет все имена в массиве.

Задачи для практики массивов

Задача 1.

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

Задача 2.

Напишите программу, которая выведет все элементы массива.

Фрагмент 1.14

int[] numbers = new int[3];
numbers[0] = 1;
numbers[1] = 15;
numbers[2] = 2;

Задача 3.

Напишите программу, которая выведет сумму всех элементов массива.

int[] numbers = new int[3];
numbers[0] = 1;
numbers[1] = 15;
numbers[2] = 2;

Задача 4.

Напишите программу, которая выведет максимальное число в массиве.

Фрагмент 1.15

int[] numbers = new int[3];
numbers[0] = 1;
numbers[1] = 15;
numbers[2] = 2;

Тонкости инициализации

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

Фрагмент 1.17

int[] array = {10, 14, 52, 14}; //Создаст массив 4 элементами, можно использовать только в строке объявления переменной. 
array = new int[] {5, 2}; //создаст массив 2 элементами, можно использовать везде

int[,] map = {
    {1, 1, 1},
    {1, 0, 1},
    {1, 1, 1}
};

Массив map является двумерным массивом, подробней о таком типе вы узнаете на следующей странице.

Если вы нашли ошибку, пожалуйста выделите её и нажмите Ctrl+Enter.


Leave a Reply

Your email address will not be published. Required fields are marked *