Массивы — переменные, содержащие несколько значений. В отличие от обычных переменных, хранящих одно значение (например, 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#.