C# Урок 9: Массивы — полное руководство

Массивы — переменные, содержащие несколько значений. В отличие от обычных переменных, хранящих одно значение (например, int num = 0;), массивы содержат список значений (например, 1, 2, 3, 4, 5).

Создание массивов

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

Например, для создания массива целых чисел:

int[] array = new int[10];

Здесь int[] указывает тип данных (целые числа), array — имя массива, new int[10] выделяет память под массив из 10 элементов.

Доступ к элементам

Доступ к элементам осуществляется по индексу, начиная с 0. Первый элемент имеет индекс 0, второй — 1 и так далее. Последний элемент массива из 10 элементов имеет индекс 9.

Пример:

array[0] = 10; // Присваиваем значение 10 первому элементу
array[5] = 56; // Присваиваем значение 56 шестому элементу

Console.WriteLine(array[5]); // Выводит 56

Итерация по массиву

Для перебора элементов массива удобно использовать цикл:

int[] array = new int[5] {4, 2, 7, 5, 6};

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

array.Length возвращает длину массива. Цикл перебирает элементы с индексами от 0 до array.Length — 1.

Массивы различных типов данных

Массивы могут содержать элементы разных типов данных:

string[] names = new string[3] {"Tom", "John", "Jane"};

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

Этот код создаёт массив строк names и выводит его элементы.

Списки (List<T>)

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

Для использования списков необходимо подключить пространство имён System.Collections.Generic:

using System.Collections.Generic;

List<int> numbers = new List<int>();
numbers.Add(23);
numbers.Add(56);

Console.WriteLine(numbers[1]); // Выводит 56

Console.WriteLine(numbers.Count); // Выводит 2 (количество элементов)

Метод Add() добавляет элемент в список, Count возвращает количество элементов. Обращение к элементам аналогично массивам.

Удаление элементов:

numbers.RemoveAt(0); // Удаляет первый элемент (индекс 0)
numbers.Remove(56); // Удаляет первый элемент со значением 56

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

Многомерные массивы представляют собой массивы массивов. Например, двумерный массив:

int[,] numbers2D = new int[2, 5]; // Массив 2x5

numbers2D[0, 0] = 1;
numbers2D[1, 4] = 10;

Console.WriteLine(numbers2D[1, 4]); // Выводит 10

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

В этом уроке рассмотрены массивы в C#: создание, доступ к элементам, итерация, различные типы данных и многомерные массивы. Также рассмотрены списки (List<T>) как альтернатива массивам в ситуациях, когда размер массива неизвестен заранее. Понимание работы с массивами является фундаментальным для программирования на C#.

Что будем искать? Например,программа