C # foreach loop (med eksempler)

I denne artikel lærer vi foreach loops (et alternativ til for loop) og hvordan man bruger dem med arrays og samlinger.

C # giver et let at bruge og mere læsbart alternativ til for loop, foreach-loop, når man arbejder med arrays og samlinger for at gentage elementerne i arrays / samlinger. Foreach-sløjfen gentages gennem hvert emne og kaldes derfor foreach-loop.

Inden du går videre med foreach-løkken, skal du besøge:

  • C # for løkke
  • C # -arrays
  • C # samlinger

Syntaks for foreach-løkke

 foreach (element i iterable-item) (// body of foreach loop) 

Her kan iterable-item være en matrix eller en samlingsklasse.

Hvordan fungerer foreach loop?

Den insøgeord bruges sammen med foreach løkke bruges til at gentage over den Iterable-elementet. Nøgleordet vælger et element fra det iterable-element på hver iteration og gemmer det i det variable element.

Ved første iteration gemmes det første element i iterable-element i element. Ved anden iteration vælges det andet element og så videre.

Antallet af gange, som foreachsløjfen udføres, er lig med antallet af elementer i arrayet eller samlingen.

Her er et eksempel på iterering gennem en matrix ved hjælp af for loop:

Eksempel 1: Udskrivningsarray ved hjælp af 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 opgave kan udføres ved hjælp af foreach-sløjfen.

Eksempel 2: Udskrivningsarray ved hjælp af 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); ) ) ) ) 

Når vi kører begge programmer, vil output være:

 Hej 

I ovenstående program gentager foreach-sløjfen over arrayet, myArray. Ved første iteration vælges det første element, dvs. myArray (0), og lagres i ch.

På samme måde på den sidste iteration vælges det sidste element, dvs. myArray (4). Inde i sløjfekroppen udskrives værdien af ​​ch.

Når vi ser på begge programmer, er det program, der bruger foreach loop, mere læsbart og let at forstå. Dette er på grund af sin enkle og udtryksfulde syntaks.

Derfor foretrækkes foreach-loop frem for loop, når man arbejder med arrays og samlinger.

Eksempel 3: Gennemgang af en matrix af køn ved hjælp af foreach-loop

Dette program beregner antallet af mandlige og kvindelige 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 kører programmet, vil output være:

 Antal mandlige = 6 Antal kvinder = 4 

Eksempel 4: foreach loop med List (Collection)

Dette program beregner summen af ​​elementer 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 kører programmet, vil output være:

 Sum = 44

I dette program bruges foreach loop til at krydse gennem en samling. At krydse en samling svarer til at krydse gennem en matrix.

Det første element i samlingen vælges på den første iteration, det andet element på den anden iteration og så videre til det sidste element.

Interessante artikler...