OOP Course
Сьогодні

Підрозділ 2.14

Масиви

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

2.14. Масиви

До цього моменту кожне значення зберігалося в окремій змінній. Але якщо потрібно зберегти вік 50 пацієнтів або показники тиску за 30 вимірювань — оголошувати 50 або 30 окремих змінних украй незручно. Для зберігання наборів однотипних значень призначені масиви.

Масив — це послідовність фіксованого розміру, що зберігає елементи одного типу в суміжних комірках пам'яті. Після оголошення кількість елементів масиву не змінюється.

Оголошення та ініціалізація масиву

Синтаксис оголошення відрізняється від звичайної змінної наявністю квадратних дужок після типу:

тип[] назва = new тип[розмір];

Масив також можна ініціалізувати значеннями відразу при оголошенні. Усі варіанти еквівалентні:

Аналогічно для рядків:

Індекси та доступ до елементів

Одновимірний масив: структура, індекси та Length

Кожен елемент масиву має індекс — ціле число, яке вказує його позицію. Нумерація починається з нуля: перший елемент має індекс 0, другий — 1, останній — довжина - 1.

Елементи можна змінювати через індекс:

Якщо вказати індекс за межами масиву, виникне виняток IndexOutOfRangeException під час виконання:

Властивість Length

Кожен масив має властивість Length, що повертає загальну кількість його елементів. Її важливо використовувати у циклах замість «магічних чисел»:

Оператор ^ (індекс від кінця)

Починаючи з C# 8.0, можна звертатися до елементів масиву від кінця за допомогою оператора ^. ^1 — останній елемент, ^2 — передостанній тощо:

readings[^1] — це лаконічний еквівалент readings[readings.Length - 1].

Перебір масиву

foreach

Для послідовного перебору всіх елементів найбільш читабельним є foreach:

for

Якщо потрібен індекс або зміна елементів — використовуйте for:

foreach не дозволяє змінювати елементи колекції через змінну циклу — лише читати. Тому для модифікації елементів завжди застосовуйте for.

Багатовимірні масиви

Масиви можуть бути багатовимірними. Найчастіше використовуються двовимірні масиви — вони представляють таблиці (матриці).

Двовимірний масив: структура, рядки та стовпці

Для оголошення двовимірного масиву в квадратних дужках вказується кома, що розділяє розміри:

schedule.GetUpperBound(0) + 1 повертає кількість рядків, GetUpperBound(1) + 1 — кількість стовпців. Загальна довжина двовимірного масиву через Length — це добуток усіх розмірностей (тут: 3 × 4 = 12).

Масиви можуть мати й більшу кількість вимірів (тривимірні тощо), але на практиці частіше застосовуються одно- та двовимірні.

Зубчастий масив (масив масивів)

На відміну від прямокутного двовимірного масиву, зубчастий масив (jagged array) — це масив, що містить інші масиви, причому кожен підмасив може мати різну довжину. Оголошується через подвійні квадратні дужки [][]:

Зубчастий масив застосовується там, де підмасиви мають різні розміри. Якщо всі рядки однакової довжини — зручніше використовувати прямокутний [,].

Основні поняття масивів

Поняття Опис Приклад
Ранг Кількість вимірів int[,] — ранг 2
Довжина виміру Розмір конкретного виміру new int[3, 4] — 3 рядки, 4 стовпці
Length Загальна кількість елементів 3 × 4 = 12
Індекс Номер елемента (з нуля) arr[0] — перший
^-оператор Індекс від кінця arr[^1] — останній
Розроблено Tomka Yurii · © 2026 ·