НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Мова програмування C#. Уроки W3Schools українською для початківців

En Es De

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


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

У попередньому розділі ви дізналися про масиви, які також називаються одновимірними масивами. Це чудово, і це те, що ви часто будете використовувати під час програмування на C#. Однак, якщо ви хочете зберігати дані як табличну форму, наприклад таблицю з рядками та стовпцями, вам потрібно ознайомитися з багатовимірними масивами.

Багатовимірний масив – це в основному масив масивів.

Масиви можуть мати будь-яку кількість розмірів. Найпоширенішими є двовимірні масиви (2D).


Двовимірні масиви

Щоб створити 2D-масив, додайте кожен масив у власний набір фігурних дужок і вставте кому (,) у квадратні дужки:

Приклад

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

Корисно знати: одна кома [,] вказує на те, що масив є двовимірним. Тривимірний масив матиме дві коми: int[,,].

numbers тепер є масивом з двома масивами як його елементами. Перший елемент масиву містить три елементи: 1, 4 та 2, тоді як другий елемент масиву містить 3, 6 та 8. Щоб візуалізувати це, уявіть масив як таблицю з рядками та стовпцями:

  СТОВПЕЦЬ 0 СТОВПЕЦЬ 1 СТОВПЕЦЬ 2
РЯДОК 0 1 4 2
РЯДОК 1 3 6 8

Доступ до елементів двовимірного масиву

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

Ця інструкція отримує доступ до значення елемента в першому рядку (0) і третьому стовпці (2) масиву numbers:

Приклад

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
Console.WriteLine(numbers[0, 2]);  // Виведе 2

Спробуйте самі »

Пам’ятайте, що: індекси масиву починаються з 0: [0] є першим елементом. [1] — другий елемент і т.д.


Зміна елементів двовимірного масиву

Ви також можете змінити значення елемента.

У наступному прикладі буде змінено значення елемента в першому рядку (0) і першому стовпці (0):

Приклад

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
numbers[0, 0] = 5;  // Змініть значення на 5
Console.WriteLine(numbers[0, 0]); // Виведе 5 замість 1

Спробуйте самі »


Перебирання двовимірного масиву

Ви можете легко перебрати елементи двовимірного масиву за допомогою циклу foreach:

Приклад

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
foreach (int i in numbers)
{
  Console.WriteLine(i);
} 

Спробуйте самі »

Ви також можете використовувати цикл for. Для багатовимірних масивів вам потрібен один цикл для кожного виміру масиву.

Також зауважте, що нам потрібно використовувати GetLength() замість Length, щоб указати, скільки разів цикл повинен працювати:

Приклад

int[,] numbers = { {1, 4, 2}, {3, 6, 8} };
for (int i = 0; i < numbers.GetLength(0); i++)
{
  for (int j = 0; j < numbers.GetLength(1); j++)
  {
    Console.WriteLine(numbers[i, j]);
  }
}  

Спробуйте самі »