Навчальний посібник із масиву C#: створення, оголошення, ініціалізація
⚡ Розумний підсумок
Масиви в C# зберігають колекцію елементів фіксованого розміру, які мають однаковий тип даних, під однією змінною. Кожен елемент має індекс, що починається з нуля, тому оголошення, ініціалізація та доступ до значень залишаються швидкими та передбачуваними.

Що таке масиви в C#?
Масив використовується для зберігання колекції або серії елементів. Ці елементи будуть одного типу.
Так, наприклад, якщо у вас є масив цілих значень, масив може бути набором значень, таких як [1, 2, 3, 4]. Тут кількість елементів у масиві дорівнює 4.
Масиви корисні, коли потрібно зберігати колекцію значень одного типу. Тож замість оголошення a змінна для кожного елемента можна оголосити лише одну змінну.
Ця змінна буде вказувати на масив або список елементів, які відповідатимуть за зберігання елементів масиву.
Давайте подивимося, як ми можемо працювати з масивами в C#. У нашому прикладі ми оголосимо масив Integers і будемо працювати з ними відповідно.
Зауважте, що весь наведений нижче код створено у файлі Program.cs.
Крок 1) Оголошення масиву. Першим кроком є оголошення масиву. Давайте подивимося, як ми можемо цього досягти за допомогою наведеного нижче прикладу коду.
Code Пояснення:
- Перша частина - це тип даних. Він визначає тип елементів, які використовуються в масиві. Отже, у нашому випадку ми створюємо масив цілих чисел.
- Друга частина [ ], яка задає ранг масиву. (Ранг — це заповнювач, який визначає кількість елементів, які міститиме масив)
- Далі йде ім’я масиву, яке в нашому випадку є «значеннями». Зверніть увагу, що ви бачите зелене хвилясте підкреслення, не турбуйтеся про це. Це просто .Net говорить, що ви оголосили масив, але ніде його не використовуєте.
Крок 2) Наступним кроком є ініціалізація масиву. Тут ми збираємося вказати кількість значень, які буде містити масив. Ми також присвоїмо значення кожному елементу масиву.
Code Пояснення:
- По-перше, ми встановлюємо 3 елементи, які буде містити масив. Отже, у квадратних дужках ми говоримо, що масив міститиме 3 елементи.
- Потім ми присвоюємо значення кожному елементу масиву. Ми можемо зробити це, вказавши назву змінної + позицію індексу в масиві. Отже, значення[0] означає, що ми зберігаємо значення в першій позиції масиву. Аналогічно, для доступу до другої позиції ми використовуємо позначення значення[1] і так далі.
Примітка:: – У масивах позиція індексу починається з 0.
Крок 3) Давайте тепер відобразимо окремі елементи масиву в Консолі. Давайте додамо наведений нижче код, щоб досягти цього.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] value; value=new Int32[3]; value[0]=1; value[1]=2; value[2]=3; Console.WriteLine(value[0]); Console.WriteLine(value[1]); Console.WriteLine(value[2]); Console.ReadKey(); } } }
Code Пояснення:
Це проста частина, в якій ми просто використовуємо метод Console.WriteLine для надсилання кожного значення елемента на консоль.
Зверніть увагу, що знову ми отримуємо доступ до кожного елемента за допомогою назви змінної масиву разом із позицією індексу.
Якщо наведений вище код введено належним чином і програма виконана, буде показано наступний вихід.
вихід:
З результату ви можете побачити всі значення масиву, які відображаються в Консолі.
Як перебрати масив C# за допомогою foreach
Читання кожного елемента за його індексом працює, але стає нудним, коли масив містить багато значень. Цикл foreach пропонує зрозуміліший спосіб перегляду кожного елемента масиву по порядку без... tracсамостійно створити індексну змінну.
Оператор foreach бере кожен елемент з масиву по одному та копіює його в змінну циклу. Потім ця змінна використовується всередині тіла циклу. Оскільки цикл автоматично зупиняється на останньому елементі, foreach усуває ризик читання після кінця масиву.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] values = new Int32[3] {1, 2, 3}; foreach (Int32 item in values) { Console.WriteLine(item); } Console.ReadKey(); } } }
У наведеному вище прикладі оголошується та ініціалізується масив із трьох цілих чисел, а потім виконується перебір його за допомогою функції foreach. На кожному проході змінна пункт отримує наступне значення, а Console.WriteLine його виводить. Вивідними є числа 1, 2 та 3 на окремих рядках.
Ключові моменти, які слід пам'ятати про foreach з масивами:
- Змінна циклу доступна лише для читання, тому foreach найкраще використовувати для читання значень, а не для їх зміни.
- Змінити елементи під час перегляду туалетуping, використовуйте замість цього цикл for з індексом.
- Функція foreach працює з одновимірними масивами, багатовимірними масивами та будь-якою колекцією, що підтримує ітерацію.
Багатовимірні масиви в C#
Масиви, показані досі, є одновимірними, тобто вони зберігають простий список значень. C# також підтримує багатовимірні масиви, які розташовують елементи у вигляді сітки з рядків і стовпців. Двовимірний масив є найпоширенішою формою і підходить для таких даних, як матриці, ігрові дошки та таблиці.
Двовимірний масив оголошується комою всередині квадратних дужок. Кожна зайва кома додає ще один вимір, тому int[,] є двовимірним, а int[,,] — тривимірним. Елементи потім досягаються з одним індексом на вимір.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[,] matrix = new int[2, 2] { {1, 2}, {3, 4} }; Console.WriteLine(matrix[0, 0]); Console.WriteLine(matrix[1, 1]); Console.ReadKey(); } } }
Тут матриця масиву містить два рядки та два стовпці. Елемент matrix[0, 0] повертає 1, а matrix[1, 1] повертає 4. Кількість вимірів фіксована під час оголошення масиву, тоді як розмір кожного виміру встановлюється під час створення масиву.
Зубчасті масиви в C#
Зубчастий масив — це масив, елементи якого самі є масивами. На відміну від прямокутного багатовимірного масиву, кожен внутрішній масив може мати різну довжину, тому зубчастий масив часто називають масивом масивів. Ця гнучкість допомагає, коли рядки природно містять різну кількість значень.
Ви оголошуєте зубчастий масив з двома наборами квадратних дужок, а потім створюєте кожен внутрішній масив окремо. У наступному прикладі створюється зубчастий масив, де перший рядок містить три значення, а другий рядок — два.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[][] jagged = new int[2][]; jagged[0] = new int[] {1, 2, 3}; jagged[1] = new int[] {4, 5}; Console.WriteLine(jagged[0][2]); Console.WriteLine(jagged[1][1]); Console.ReadKey(); } } }
Вираз jagged[0][2] зчитує третій елемент першого рядка, який дорівнює 3, а jagged[1][1] зчитує другий елемент другого рядка, який дорівнює 5. Оскільки кожен рядок є окремим масивом, масиви jagged ефективно використовують пам'ять, коли довжина рядків змінюється, хоча їм потрібен додатковий крок для ініціалізації кожного внутрішнього масиву.




