C # smyčka foreach (s příklady)

V tomto článku se dozvíme o smyčkách foreach (alternativa smyčky for) a o tom, jak je používat s poli a kolekcemi.

C # poskytuje snadno použitelnou a čitelnější alternativu k smyčce for, smyčce foreach při práci s poli a kolekcemi k iteraci prostřednictvím položek polí / kolekcí. Smyčka foreach iteruje každou položkou, proto se nazývá smyčka foreach.

Než se posunete vpřed pomocí smyčky foreach, navštivte:

  • C # pro smyčku
  • C # pole
  • C # sbírky

Syntaxe smyčky foreach

 foreach (prvek v iterovatelné položce) (// tělo smyčky foreach) 

Zde iterovatelná položka může být pole nebo třída kolekce.

Jak funguje foreach loop?

inKlíčové slovo použít společně s smyčky foreach slouží k iterovat přes iterable-bodu. Klíčové slovo in vybere položku z iterovatelné položky při každé iteraci a uloží ji do proměnného prvku.

Při první iteraci je první položka iterovatelné položky uložena v prvku. Při druhé iteraci je vybrán druhý prvek atd.

Počet opakování smyčky foreach se rovná počtu prvků v poli nebo kolekci.

Zde je příklad iterace pomocí pole pomocí smyčky for:

Příklad 1: Tisk pole pomocí smyčky 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)); ) ) ) ) 

Stejný úkol lze provést pomocí smyčky foreach.

Příklad 2: Tisk pole pomocí smyčky foreach

 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); ) ) ) ) 

Když spustíme oba programy, výstup bude:

 Ahoj 

Ve výše uvedeném programu smyčka foreach iteruje přes pole myArray. Při první iteraci je vybrán první prvek, tj. MyArray (0), a uložen do ch.

Podobně na poslední iteraci je vybrán poslední prvek, tj. MyArray (4). Uvnitř těla smyčky je vytištěna hodnota ch.

Když se podíváme na oba programy, program, který používá smyčku foreach, je čitelnější a srozumitelnější. Důvodem je jeho jednoduchá a expresivní syntaxe.

Proto je při práci s poli a kolekcemi preferována smyčka foreach před smyčkou.

Příklad 3: Procházení pole pohlaví pomocí smyčky foreach

Tento program počítá počet mužských a ženských kandidátů.

 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); ) ) ) 

Když spustíme program, výstup bude:

 Počet mužů = 6 Počet žen = 4 

Příklad 4: smyčka foreach se seznamem (kolekce)

Tento program počítá součet prvků v seznamu.

 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); ) ) ) 

Když spustíme program, výstup bude:

 Součet = 44

V tomto programu se smyčka foreach používá k procházení kolekcí. Traversing a collection is similar to traversing through an array.

První prvek kolekce je vybrán na první iteraci, druhý prvek na druhé iteraci atd. Až do posledního prvku.

Zajímavé články...