C # foreach-lus (met voorbeelden)

In dit artikel zullen we leren over foreach-loops (een alternatief voor for-loop) en hoe u deze kunt gebruiken met arrays en verzamelingen.

C # biedt een gemakkelijk te gebruiken en beter leesbaar alternatief voor for-loop, de foreach-lus bij het werken met arrays en verzamelingen om de items van arrays / verzamelingen te doorlopen. De foreach-lus herhaalt zich door elk item en wordt daarom foreach-lus genoemd.

Bezoek voordat u verder gaat met foreach-lus:

  • C # voor lus
  • C # arrays
  • C # collecties

Syntaxis van foreach-lus

 foreach (element in iterable-item) (// body van foreach-lus) 

Hier kan iterable-item een ​​array of een collectieklasse zijn.

Hoe foreach loop werkt?

Het insleutelwoord dat samen met de foreach-lus wordt gebruikt, wordt gebruikt om het iterabele-item te herhalen. Het trefwoord in selecteert een item uit het iterabele-item bij elke iteratie en slaat het op in het variabele element.

Bij de eerste iteratie wordt het eerste item van iterable-item opgeslagen in element. Bij de tweede iteratie wordt het tweede element geselecteerd, enzovoort.

Het aantal keren dat de foreach-lus wordt uitgevoerd, is gelijk aan het aantal elementen in de array of verzameling.

Hier is een voorbeeld van het doorlopen van een array met behulp van de for-lus:

Voorbeeld 1: array afdrukken met for-lus

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

Dezelfde taak kan worden gedaan met behulp van de foreach-lus.

Voorbeeld 2: matrix afdrukken met foreach-lus

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

Wanneer we het beide programma uitvoeren, is de uitvoer:

 Hallo 

In het bovenstaande programma itereert de foreach-lus over de array, myArray. Bij de eerste iteratie wordt het eerste element, dwz myArray (0), geselecteerd en opgeslagen in ch.

Evenzo wordt bij de laatste iteratie het laatste element, dwz myArray (4), geselecteerd. Binnen het lichaam van de lus wordt de waarde van ch afgedrukt.

Als we naar beide programma's kijken, is het programma dat foreach-lus gebruikt beter leesbaar en gemakkelijker te begrijpen. Dit komt door de eenvoudige en expressieve syntaxis.

Daarom heeft foreach loop de voorkeur boven for loop bij het werken met arrays en verzamelingen.

Voorbeeld 3: een reeks geslacht doorlopen met behulp van een foreach-lus

Dit programma berekent het aantal mannelijke en vrouwelijke kandidaten.

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

Wanneer we het programma uitvoeren, is de uitvoer:

 Aantal mannen = 6 Aantal vrouwen = 4 

Voorbeeld 4: foreach-lus met lijst (verzameling)

Dit programma berekent de som van elementen in een lijst.

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

Wanneer we het programma uitvoeren, is de uitvoer:

 Som = 44

In dit programma wordt een foreach-lus gebruikt om door een collectie te lopen. Het doorkruisen van een verzameling is vergelijkbaar met het doorlopen van een array.

Het eerste element van verzameling wordt geselecteerd bij de eerste iteratie, het tweede element bij de tweede iteratie enzovoort tot het laatste element.

Interessante artikelen...