Массивы в языке программирования C#

Массивы — это одна из фундаментальных структур данных в программировании, которая позволяет хранить набор элементов одного типа в упорядоченном виде. В языке C# массивы широко используются для работы с коллекциями данных, будь то числа, строки или более сложные объекты. В шестнадцатом уроке нашего базового курса по C# мы разберём, как объявлять, инициализировать и использовать массивы, а также изучим многомерные массивы и массивы массивов (зубчатые массивы). Эти знания помогут вам эффективно обрабатывать большие объёмы данных в ваших программах.

 

 

Объявление и инициализация массивов

 

Массив в C# представляет собой набор однотипных данных. Для объявления массива указывается тип данных, за которым следуют квадратные скобки [], а затем имя массива:

 

тип_данных[] имя_массива;

 

Пример объявления массива целых чисел:

 

int[] numbers;

 

После объявления массиву нужно выделить память с помощью оператора new и указать его размер:

 

int[] nums = new int[4]; // Массив из 4 элементов типа int

 

Здесь создаётся массив nums с четырьмя элементами, изначально заполненными значением по умолчанию (0 для типа int). Число 4 называется длиной массива.

 

Массив можно инициализировать сразу при объявлении. Существует несколько способов:

 

int[] nums1 = new int[4] { 1, 2, 3, 5 };

int[] nums2 = new int[] { 1, 2, 3, 5 };

int[] nums3 = new[] { 1, 2, 3, 5 };

int[] nums4 = { 1, 2, 3, 5 };

 

Все эти варианты эквивалентны и создают массив из четырёх элементов: 1, 2, 3, 5.

 

Массивы могут хранить данные любого типа, например, строки:

 

string[] people = { "Tom", "Sam", "Bob" };

 

 

Работа с элементами массива

 

Для доступа к элементам массива используются индексы, начиная с 0 (первый элемент).

 

Например:

 

int[] numbers = { 1, 2, 3, 5 };

Console.WriteLine(numbers[3]); // Выведет: 5

int n = numbers[1]; // Сохраняем второй элемент (2)

Console.WriteLine(n); // Выведет: 2

 

Можно также изменить элемент массива по индексу:

 

numbers[1] = 505;

Console.WriteLine(numbers[1]); // Выведет: 505

 

 

Свойство Length

 

Каждый массив имеет свойство Length, которое возвращает количество элементов в массиве:

 

int[] numbers = { 1, 2, 3, 5 };

Console.WriteLine(numbers.Length); // Выведет: 4

 

Это свойство полезно при работе с циклами для перебора элементов массива.

 

 

Перебор массивов

 

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

 

Перебор с помощью foreach:

 

int[] numbers = { 1, 2, 3, 4, 5 };

foreach (int i in numbers)

{

    Console.WriteLine(i);

}

 

Цикл foreach автоматически проходит по всем элементам массива, присваивая их переменной i.

 

Перебор с помощью for:

 

int[] numbers = { 1, 2, 3, 4, 5 };

for (int i = 0; i < numbers.Length; i++)

{

    Console.WriteLine(numbers[i]);

}

 

Цикл for даёт больше контроля, так как позволяет работать с индексами, что полезно для изменения элементов или выполнения других операций.

 

 

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

 

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

 

Синтаксис:

 

тип_данных[,] имя_массива;

 

Пример двухмерного массива:

 

int[,] nums = { { 0, 1, 2 }, { 3, 4, 5 } };

 

Здесь массив nums имеет 2 строки и 3 столбца. Доступ к элементу осуществляется с помощью двух индексов:

 

Console.WriteLine(nums[1, 2]); // Выведет: 5

 

Способы инициализации двухмерного массива:

 

int[,] nums1 = new int[2, 3];

int[,] nums2 = new int[2, 3] { { 0, 1, 2 }, { 3, 4, 5 } };

int[,] nums3 = new int[,] { { 0, 1, 2 }, { 3, 4, 5 } };

int[,] nums4 = { { 0, 1, 2 }, { 3, 4, 5 } };

 

Можно создавать массивы с большим количеством измерений, например, трёхмерные:

 

int[,,] nums3 = new int[2, 3, 4];

 

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

 

 

Массивы массивов (зубчатые массивы)

 

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

 

Синтаксис:

 

тип_данных[][] имя_массива;

 

Пример:

 

int[][] nums = new int[3][];

nums[0] = new int[2] { 1, 2 };

nums[1] = new int[3] { 1, 2, 3 };

nums[2] = new int[5] { 1, 2, 3, 4, 5 };

 

Альтернативный способ инициализации:

 

int[][] numbers = {

    new int[] { 1, 2 },

    new int[] { 1, 2, 3 },

    new int[] { 1, 2, 3, 4, 5 }

};

 

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

 

int[][] numbers = new int[3][];

numbers[0] = new int[] { 1, 2 };

numbers[1] = new int[] { 1, 2, 3 };

numbers[2] = new int[] { 1, 2, 3, 4, 5 };

 

for (int i = 0; i < numbers.Length; i++)

{

    for (int j = 0; j < numbers[i].Length; j++)

    {

        Console.Write($"{numbers[i][j]}\t");

    }

    Console.WriteLine();

}

 

Этот код выведет элементы зубчатого массива построчно, с учётом разной длины подмассивов.

 

Все виды массивов в языке программирования C# (нажми)

 

 

Массивы в C# — это мощный инструмент для работы с наборами данных. Они позволяют хранить и обрабатывать элементы одного типа, будь то простые одномерные списки, двумерные таблицы или сложные зубчатые массивы. Понимание того, как объявлять, инициализировать и перебирать массивы, а также как использовать их свойства, такие как Length, открывает широкие возможности для создания эффективных программ. В следующем уроке мы продолжим изучение C# и познакомимся с другими важными концепциями языка. Практикуйтесь с примерами, экспериментируйте с различными типами массивов и задавайте вопросы, если что-то осталось непонятным!

Лого

Spartacus_85 [Admin]

Администратор сайта — это специалист, который отвечает за техническую поддержку и бесперебойную работу веб-ресурса.



0 Комментарий(я)

Зарегистрируйтесь чтобы оставить комментарий