U ovom ćemo članku naučiti o foreach petljama (alternativa petlji for) i kako ih koristiti s nizovima i kolekcijama.
C # pruža jednostavnu za upotrebu i čitljiviju alternativu for petlji, foreach petlji pri radu s nizovima i kolekcijama za iteraciju kroz stavke nizova / kolekcija. Petlja foreach prolazi kroz svaku stavku, pa se naziva foreach petlja.
Prije kretanja prema naprijed s petljom foreach, posjetite:
- C # za petlju
- C # nizovi
- C # kolekcije
Sintaksa foreach petlje
foreach (element u iterable-itemu) (// tijelo foreach petlje)
Ovdje iterable-item može biti niz ili klasa kolekcije.
Kako funkcionira foreach petlja?
in
Ključna riječ se koristi zajedno sa foreach petlje se koristi za prolazak preko iterable-stavku. Ključna riječ in odabire stavku iz iterable-stavke na svakoj iteraciji i pohranjuje je u element varijable.
Na prvoj iteraciji, prva stavka iterable-stavke sprema se u element. Na drugoj iteraciji odabire se drugi element i tako dalje.
Broj izvršavanja petlje foreach jednak je broju elemenata u polju ili zbirci.
Evo primjera ponavljanja niza pomoću petlje for:
Primjer 1: Ispis niza pomoću for petlje
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)); ) ) ) )
Isti se zadatak može obaviti pomoću foreach petlje.
Primjer 2: Ispis niza pomoću foreach petlje
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); ) ) ) )
Kada pokrenimo oba programa, izlaz će biti:
Zdravo
U gornjem programu, foreach petlja ponavlja se preko polja myArray. Na prvoj iteraciji, prvi element tj. MyArray (0) odabire se i pohranjuje u pogl.
Slično na posljednjoj iteraciji, odabire se posljednji element, tj. MyArray (4). Unutar tijela petlje ispisuje se vrijednost ch.
Kad pogledamo oba programa, program koji koristi foreach petlju je čitljiviji i lak za razumijevanje. To je zbog njegove jednostavne i izražajne sintakse.
Stoga se foreach petlja preferira ispred for petlje kada se radi s nizovima i kolekcijama.
Primjer 3: Prelazak niza spolova pomoću foreach petlje
Ovaj program izračunava broj kandidata i kandidatkinja.
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); ) ) )
Kada pokrenemo program, izlaz će biti:
Broj mužjaka = 6 Broj ženki = 4
Primjer 4: petlja foreach s Popisom (Zbirka)
Ovaj program izračunava zbroj elemenata na Popisu.
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); ) ) )
Kada pokrenemo program, izlaz će biti:
Zbroj = 44
U ovom se programu foreach petlja koristi za prolazak kroz kolekciju. Prelazak zbirke slično je prelasku kroz niz.
Prvi element zbirke odabire se na prvoj iteraciji, drugi element na drugoj iteraciji i tako dalje do posljednjeg elementa.