Зміст курсу
Основи C#
Основи C#
Перебір масивів
Дуже корисно мати можливість швидко пройтися по всіх елементах масиву та виконати над ними якусь операцію або витягти їх значення.
Існує кілька способів, як це можна зробити, однак найпоширенішими є використання циклів for
та foreach
.
У випадку використання циклу for
, ми можемо використовувати змінну циклу i
для індексації:
main
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
масивів для доступу до довжини (розміру) масиву:
main
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int[] myArray = new int[10]; Console.WriteLine(myArray.Length); // Output: 10 } } }
Використовуючи атрибут довжини, цикл виглядатиме приблизно так:
main
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]); } } } }
Ми також можемо вивести числа у зворотному порядку, змінивши цикл на виконання в протилежному напрямку:
main
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 наступний:
main
foreach (datatype variableName in arrayName) { // code block to be executed }
Наприклад:
main
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, оскільки ми знаємо індекси елементів, ми можемо змінити масив:
main
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]); } } } }
Дякуємо за ваш відгук!