I denne artikkelen vil vi lære om foreach loops (et alternativ til for loop) og hvordan du bruker dem med arrays og samlinger.
C # gir et brukervennlig og mer lesbart alternativ til for loop, foreach loop når du arbeider med arrays og samlinger for å iterere gjennom elementene i arrays / samlinger. Foreach-sløyfen går gjennom hvert element, derfor kalt foreach-loop.
Før du går videre med foreach-løkke, besøk:
- C # for løkke
- C # matriser
- C # samlinger
Syntaks for foreach loop
foreach (element i iterable-item) (// body of foreach loop)
Her kan iterable-item være en matrise eller en samlingsklasse.
Hvordan fungerer foreach loop?
Den in
ordet brukes sammen med foreach koplingssløyfe anvendes til å iterere over iterable-elementet. Nøkkelordet velger et element fra det iterable-elementet på hver iterasjon og lagrer det i det variable elementet.
Ved første iterasjon lagres det første elementet av iterable-elementet i element. Ved andre iterasjon velges det andre elementet og så videre.
Antall ganger forutsløyfen kjøres er lik antall elementer i matrisen eller samlingen.
Her er et eksempel på iterering gjennom en matrise ved hjelp av for loop:
Eksempel 1: Utskriftsmatrise med for loop
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)); ) ) ) )
Den samme oppgaven kan gjøres ved hjelp av foreach-løkken.
Eksempel 2: Utskriftsmatrise med foreach-løkke
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); ) ) ) )
Når vi kjører begge programmene, vil utgangen være:
Hallo
I det ovennevnte programmet gjentas foreach-sløyfen over arrayet, myArray. Ved første iterasjon blir det første elementet, dvs. myArray (0) valgt og lagret i kap.
På samme måte på den siste iterasjonen, velges det siste elementet, dvs. myArray (4). Inne i kroppen av sløyfen skrives verdien av lm ut.
Når vi ser på begge programmene, er programmet som bruker foreach loop mer leselig og lett å forstå. Dette er på grunn av sin enkle og uttrykksfulle syntaks.
Derfor foretrekkes foreach-loop fremfor loop når man arbeider med arrays og samlinger.
Eksempel 3: Gjennomgang av en rekke kjønn ved hjelp av foreach-loop
Dette programmet beregner antall mannlige og kvinnelige kandidater.
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); ) ) )
Når vi kjører programmet, vil utdataene være:
Antall hann = 6 Antall kvinner = 4
Eksempel 4: foreach loop med List (Collection)
Dette programmet beregner summen av elementene i en liste.
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); ) ) )
Når vi kjører programmet, vil utdataene være:
Sum = 44
I dette programmet brukes foreach loop til å krysse gjennom en samling. Å krysse en samling ligner på å krysse gjennom en matrise.
Det første elementet i samlingen er valgt på den første iterasjonen, det andre elementet på den andre iterasjonen og så videre til det siste elementet.