C # foreach цикъл (с примери)

В тази статия ще научим за циклите foreach (алтернатива на цикъл for) и как да ги използваме с масиви и колекции.

C # предоставя лесна за използване и по-четлива алтернатива на цикъл for, цикъл foreach при работа с масиви и колекции за итерация през елементите от масиви / колекции. Цикълът foreach преминава през всеки елемент, поради което се нарича foreach loop.

Преди да продължите напред с foreach loop, посетете:

  • C # за цикъл
  • C # масиви
  • C # колекции

Синтаксис на foreach loop

 foreach (елемент в iterable-item) (// тяло на цикъл foreach) 

Тук iterable-item може да бъде масив или клас на колекция.

Как работи foreach loop?

В inключова дума се използва заедно с foreach цикъл се използва за обхождане на iterable-елемента. Ключовата дума in избира елемент от итерируемия елемент на всяка итерация и го съхранява в променливия елемент.

При първа итерация първият елемент от итерируем елемент се съхранява в елемент. При втора итерация се избира вторият елемент и т.н.

Броят пъти, в които цикълът foreach ще изпълни, е равен на броя на елементите в масива или колекцията.

Ето пример за итерация през масив с помощта на цикъла for:

Пример 1: Печат на масив с помощта на цикъл for

 using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( char() myArray = ('H','e','l','l','o'); for(int i = 0; i < myArray.Length; i++) ( Console.WriteLine(myArray(i)); ) ) ) ) 

Същата задача може да се направи с помощта на foreach loop.

Пример 2: Печат на масив с помощта на foreach loop

 using System; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( char() myArray = ('H','e','l','l','o'); foreach(char ch in myArray) ( Console.WriteLine(ch); ) ) ) ) 

Когато стартираме и двете програми, изходът ще бъде:

 Здравейте 

В горната програма цикълът foreach се итерира върху масива myArray. При първата итерация първият елемент, т.е. myArray (0), се избира и съхранява в гл.

По същия начин при последната итерация се избира последният елемент, т.е. myArray (4). Вътре в тялото на цикъла се отпечатва стойността на ch.

Когато разгледаме и двете програми, програмата, която използва foreach loop, е по-четлива и лесна за разбиране. Това се дължи на неговия прост и изразителен синтаксис.

Следователно, foreach цикълът се предпочита пред for цикъл при работа с масиви и колекции.

Пример 3: Преминаване на масив от пол, използвайки цикъл foreach

Тази програма изчислява броя на кандидатите от мъжки и женски пол.

 using System; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( char() gender = ('m','f','m','m','m','f','f','m','m','f'); int male = 0, female = 0; foreach (char g in gender) ( if (g == 'm') male++; else if (g =='f') female++; ) Console.WriteLine("Number of male = (0)", male); Console.WriteLine("Number of female = (0)", female); ) ) ) 

Когато стартираме програмата, изходът ще бъде:

 Брой мъже = 6 Брой жени = 4 

Пример 4: foreach цикъл със списък (колекция)

Тази програма изчислява сумата от елементи в списък.

 using System; using System.Collections.Generic; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( var numbers = new List() (5,-8,3,14,9,17,0,4); int sum = 0; foreach(int number in numbers) ( sum += number; ) Console.WriteLine("Sum = (0)", sum); ) ) ) 

Когато стартираме програмата, изходът ще бъде:

 Сума = 44

В тази програма foreach цикъл се използва за преминаване през колекция. Обхождането на колекция е подобно на обхождането през масив.

Първият елемент на колекцията се избира при първата итерация, вторият елемент при втората итерация и така до последния елемент.

Интересни статии...