Массивы в C#: объявление, инициализация и операции
Освоение массивов в C#
Узнайте, как объявлять, инициализировать и работать с массивами в C#. Практические примеры кода, техники перебора и операции LINQ.
Массив хранит фиксированную последовательность элементов одного типа. Например, вместо пяти отдельных переменных для возрастов студентов достаточно одного массива.

1. Объявление массива в C#
Синтаксис объявления:
datatype[] arrayName;
datatype— например,int,string,charи т.д.arrayName— валидный идентификатор.
Пример:
int[] age;
Переменная age может хранить целые числа.
Определение размера массива
Выделяем память под нужное количество элементов:
// объявление
int[] age;
// выделение памяти для 5 элементов
age = new int[5];
Или объявление и выделение в одной строке:
int[] age = new int[5];
2. Инициализация массива
Массивы можно инициализировать при объявлении:
int[] numbers = {1, 2, 3, 4, 5};
Компилятор сам определяет размер по инициализатору.
Отдельные элементы можно задать после объявления:
// объявление
int[] age = new int[5];
// инициализация элементов
age[0] = 12;
age[1] = 4;
age[2] = 5;
// …

- Индексы начинаются с 0.
- В массиве из 5 элементов индексы 0–4.
3. Доступ к элементам
Получение элемента по индексу:
// третий элемент
array[2];
// пятый элемент
array[4];
array[2]возвращает третий элемент.array[4]возвращает пятый элемент.
Пример: Доступ к элементам массива
using System;
namespace AccessArray {
class Program {
static void Main(string[] args) {
// создание массива
int[] numbers = {1, 2, 3};
// доступ к первому элементу
Console.WriteLine("Element at index 0 : " + numbers[0]);
// второй
Console.WriteLine("Element at index 1 : " + numbers[1]);
// третий
Console.WriteLine("Element at index 2 : " + numbers[2]);
Console.ReadLine();
}
}
}
Вывод
Element at index 0 : 1 Element at index 1 : 2 Element at index 2 : 3
4. Изменение элементов
Изменение элемента путем присваивания нового значения по индексу:
using System;
namespace ChangeArray {
class Program {
static void Main(string[] args) {
int[] numbers = {1, 2, 3};
Console.WriteLine("Old Value at index 0: " + numbers[0]);
// обновление значения
numbers[0] = 11;
Console.WriteLine("New Value at index 0: " + numbers[0]);
Console.ReadLine();
}
}
}
Вывод
Old Value at index 0: 1 New Value at index 0: 11
5. Перебор циклом
Используйте for или foreach для обхода массива.
Пример с for
using System;
namespace AccessArrayFor {
class Program {
static void Main(string[] args) {
int[] numbers = { 1, 2, 3};
for(int i=0; i < numbers.Length; i++) {
Console.WriteLine("Element at index " + i + ": " + numbers[i]);
}
Console.ReadLine();
}
}
}
Вывод
Element at index 0: 1 Element at index 1: 2 Element at index 2: 3
Используйте numbers.Length для получения размера.
Пример с foreach
using System;
namespace AccessArrayForeach {
class Program {
static void Main(string[] args) {
int[] numbers = {1, 2, 3};
Console.WriteLine("Array Elements: ");
foreach(int num in numbers) {
Console.WriteLine(num);
}
Console.ReadLine();
}
}
}
Вывод
Array Elements: 1 2 3
6. Операции с массивами через System.Linq
Пространство имен System.Linq предоставляет мощные методы для работы с массивами.
Поиск минимума и максимума
using System;
using System.Linq;
namespace ArrayMinMax {
class Program {
static void Main(string[] args) {
int[] numbers = {51, 1, 3, 4, 98};
Console.WriteLine("Smallest Element: " + numbers.Min());
Console.WriteLine("Largest Element: " + numbers.Max());
Console.ReadLine();
}
}
}
Вывод
Smallest Element: 1 Largest Element: 98
Вычисление среднего
using System;
using System.Linq;
namespace ArrayFunction {
class Program {
static void Main(string[] args) {
int[] numbers = {30, 31, 94, 86, 55};
float sum = numbers.Sum();
int count = numbers.Count();
float average = sum / count;
Console.WriteLine("Average : " + average);
Console.WriteLine("Average using Average() : " + numbers.Average());
Console.ReadLine();
}
}
}
Вывод
Average : 59.2 Average using Average() : 59.2
Примечание: Подключите using System.Linq; для доступа к методам Min, Max, Sum, Count, Average.
Язык C
- Зубчатые массивы в C#: объявление, инициализация и доступ
- Как передавать массивы в функции в C++: практическое руководство
- Как передавать одномерные и двумерные массивы в функции в C — практическое руководство
- Понимание взаимосвязи между массивами и указателями в C
- Техники копирования массивов в Java: подробное руководство
- Массивы в C++: объявление, инициализация и работа с указателями
- Динамическое выделение массивов в C++: практическое руководство с примерами кода
- Учебник по массивам в Java: объявление, создание и инициализация с примерами кода
- MATLAB: Мастерство работы с многомерными и специальными массивами
- Ball Grid Array (BGA) полностью разъяснено: Полное руководство по высокоплотной технологии печатных плат