Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Перебір масивів | Масиви
Основи C#
course content

Зміст курсу

Основи C#

Основи C#

1. Початок роботи
3. Структури управління
4. Цикли
5. Масиви
6. Методи

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

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

Існує кілька способів, як це можна зробити, однак найпоширенішими є використання циклів for та foreach.

У випадку використання циклу for, ми можемо використовувати змінну циклу i для індексації:

cs

main

copy
12345678910111213141516
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[] numbers = { 5, 10, 15, 20, 25 }; for(int i = 0; i < 5; i++) { Console.WriteLine(numbers[i]); } } } }

У наведеному вище коді ми написали умову i < 5, де ми вибрали 5 як межу. Замість того, щоб вручну рахувати кількість елементів, ми можемо також використовувати атрибут Length масивів для доступу до довжини (розміру) масиву:

cs

main

copy
12345678910111213
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[] myArray = new int[10]; Console.WriteLine(myArray.Length); // Output: 10 } } }

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

cs

main

copy
12345678910111213141516
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[] numbers = { 5, 10, 15, 20, 25 }; for(int i = 0; i < numbers.Length; i++) { Console.WriteLine(numbers[i]); } } } }

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

cs

main

copy
1234567891011121314151617
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[] numbers = { 5, 10, 15, 20, 25 }; for (int i = numbers.Length - 1; i >= 0; i--) { Console.WriteLine(numbers[i]); } } } }

Ми ініціюємо i зі значенням numbers.Length - 1, оскільки індекс останнього елемента масиву на 1 менший за розмір цього масиву, тому в цьому випадку змінна циклу почне зі значення 9. Умова циклу i >= 0 гарантує, що цикл продовжуватиметься, поки i не досягне 0. Ми зменшуємо значення i на кожній ітерації.

Інший, трохи простіший метод проходження масивів - це використання циклу foreach. Синтаксис циклу foreach наступний:

cs

main

copy
1234
foreach (datatype variableName in arrayName) { // code block to be executed }

Наприклад:

cs

main

copy
12345678910111213141516
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[] numbers = { 5, 10, 15, 20, 25 }; foreach(int n in numbers) { Console.WriteLine($"Number: {n}"); }; } } }

foreach цикл простіший за for цикл, однак різниця полягає в тому, що ми не можемо змінювати оригінальні елементи масиву в foreach циклі. Якщо ми спробуємо призначити нове значення n у наведеному вище коді, компілятор покаже помилку. Однак це можливо в циклі for, оскільки ми знаємо індекси елементів, ми можемо змінити масив:

cs

main

copy
1234567891011121314151617181920
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[] numbers = { 5, 10, 15, 20, 25 }; for(int i = 0; i < numbers.Length; i++) { numbers[i] *= 2; }; for(int i = 0; i < numbers.Length; i++) { Console.WriteLine(numbers[i]); } } } }
Яке правильне використання циклу foreach для даного масиву?

Яке правильне використання циклу foreach для даного масиву?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 7
some-alt