Массивы в C#

В данной статье мы разберем основы работы с массивами в C#: их свойства и базовые операции, которые можно над ними выполнять.
Массивы используются для хранения нескольких значений одного типа в переменной с одним названием. Чтобы объявить массив, необходимо определить тип переменной, и сразу после него указать квадратные скобки:
string[] firms;
Вот таким образом мы объявили переменную, которая содержит массив строк.
Чтобы добавить значения в массив, мы можем использовать литерал массива - список значений, разделенный запятыми, внутри фигурных скобок:
string[] firms = {"Yandex", "Google", "Apple", "Amazon"};
Чтобы создать массив из целых чисел, можно написать:
int[] ages = { 8, 12, 21, 42 };
Доступ к элементам массива
Для того, чтобы получить доступ к определенному элементу массива, необходимо использовать его индекс, передав значение индекса в квадратные скобки. При этом, надо учитывать, что индексы массива начинаются с 0: [0] - это первый элемент. [1] - это второй элемент и т. д.
string[] firms = {"Yandex", "Google", "Apple", "Amazon"};
Console.WriteLine(firms[0]); // Yandex
Изменение элемента массива
firms[0] = "Mail.Ru";
string[] firms = {"Yandex", "Google", "Apple", "Amazon"};
firms[0] = "Mail.Ru";
Console.WriteLine(firms[0]);
Длина массива
Чтобы узнать, сколько элементов содержит массив в C#, нужно использовать свойство Length:
string[] firms = {"Yandex", "Google", "Apple", "Amazon"};
Console.WriteLine(firms.Length); // 4
Цикл по массиву
По всем элементам массива в C# можно пройтись с помощью цикла for, используя свойство Length как ограничивающее условие.
В следующем примере выводятся все элементы массива cars:
string[] firms = {"Yandex", "Google", "Apple", "Amazon"};
int firmsLen = firms.Length;
for (int i = 0; i < firmsLen; i++)
{
Console.WriteLine(firms[i]);
}
Цикл foreach
Существует также цикл foreach, который используется исключительно для перебора элементов в массиве: У него следующий синтаксис:
string[] firms = {"Yandex", "Google", "Apple", "Amazon"};
foreach (string firm in firms)
{
Console.WriteLine(firm);
}
Если вы сравните цикл for и цикл foreach, то увидите, что цикл foreach проще писать, он не требует счетчика (c использованием свойства Length) и более читаем, поэтому, его стоит использовать настолько часто, насколько возможно.
Сортировка Массивов
У массивов существует множество методов, один из них - Sort(), который сортирует массив по алфавиту или в порядке возрастания:
string[] firms = {"Yandex", "Google", "Apple", "Amazon"};
// сортирует строки
Array.Sort(firms);
foreach (string firm in firms)
{
Console.WriteLine(firm);
}
int[] ages = {5, 1, 8, 9};
// сортирует числа
Array.Sort(ages);
foreach (int age in ages)
{
Console.WriteLine(age);
}
Пространство имен System.Linq
Также наиболее общеупотребительные методы массивов есть в пространство имен System.Linq: Min, Max и Sum. Подключается это пространство имен с помощью директивы using, а методы вызываются непосредственно на переменной массива:
using System;
using System.Linq; // подключаем, для работы с массивами
namespace MyApplication
{
class Program
{
static void Main(string[] args)
{
int[] paymenst = {500, 1200, 800, 190};
Console.WriteLine(paymenst.Max()); // возвращает наибольшее значение
Console.WriteLine(paymenst.Min()); // возвращает наименьшее значение
Console.WriteLine(paymenst.Sum()); // возвращает сумму элементов
}
}
}
Другие способы создания массива
В C# массивы могут быть созданы различными способами:
// Создаем массив из четырех элементов, а значение добавляется позже
string[] firms = new string[4];
// Создаем массив из четырех элементов и сразу же добавляем значения
string[] firms = new string[4] {"Yandex", "Google", "Apple", "Amazon"};
// Создать массив из четырех элементов без указания размера
string[] firms = new string[] {"Yandex", "Google", "Apple", "Amazon"};
// Создаем массив из четырех элементов, без ключевого слова new и не указывая размер
string[] firms = {"Yandex", "Google", "Apple", "Amazon"};
Однако заметьте, что если вы сначала объявите переменную, которая будет содержать массив, а инициализируете ее позже, то Вам придется использовать ключевое слово new:
// Объявить массив
string[] firms;
// Добавить значения, используя new
firms = new string[] {"Yandex", "Google", "Apple", "Amazon"};
// так не получится - вызовет ошибку
firms = {"Yandex", "Google", "Apple", "Amazon"};
Таким образом, Вы познакомились с основными особенностями массивов в C#.
-
-
Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.