C # foreach loop (med exempel)

I den här artikeln kommer vi att lära oss om foreach-loopar (ett alternativ till for loop) och hur man använder dem med arrays och samlingar.

C # ger ett lättanvänt och mer läsbart alternativ till för loop, foreach-loop när man arbetar med arrays och samlingar för att iterera genom objekten i arrays / collection. Foreach-slingan itererar genom varje objekt och kallas därför foreach-loop.

Innan du går vidare med foreach-slingan, besök:

  • C # för slinga
  • C # -matriser
  • C # samlingar

Syntax för foreach-slingan

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

Här kan iterable-item vara en array eller en klass av samling.

Hur fungerar foreach loop?

Det innyckelord som används tillsammans med foreach loop används för att iterera igenom iterable-objektet. Nyckelordet in väljer ett objekt från iterable-objektet vid varje iteration och lagrar det i det variabla elementet.

Vid första iteration lagras det första objektet i iterable-item i element. Vid andra iteration väljs det andra elementet och så vidare.

Antalet gånger som foreach-slingan körs är lika med antalet element i arrayen eller samlingen.

Här är ett exempel på iterering genom en matris med hjälp av for loop:

Exempel 1: Utskriftsmatris 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)); ) ) ) ) 

Samma uppgift kan göras med hjälp av foreach-slingan.

Exempel 2: Utskriftsmatris med 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ör båda programmen kommer utmatningen att vara:

 Hej 

I ovanstående program itererar foreach-slingan över arrayen, myArray. Vid första iteration väljs det första elementet, dvs. myArray (0) och lagras i kap.

På samma sätt vid den senaste iterationen väljs det sista elementet, dvs. myArray (4). Inuti slingan skrivs värdet på ch ut.

När vi tittar på båda programmen är programmet som använder foreach loop mer läsbart och lätt att förstå. Detta beror på dess enkla och uttrycksfulla syntax.

Därför föredras loop för loop framför loop när man arbetar med matriser och samlingar.

Exempel 3: Korsa en rad kön med hjälp av foreach-loop

Detta program beräknar antalet manliga och kvinnliga 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ör programmet blir resultatet:

 Antal hane = 6 Antal hona = 4 

Exempel 4: foreach loop med List (Collection)

Detta program beräknar summan av element i en lista.

 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ör programmet blir resultatet:

 Summa = 44

I detta program används foreach-loop för att korsa en samling. Att korsa en samling liknar att korsa genom en matris.

Det första samlingselementet väljs på den första iterationen, det andra elementet på den andra iterationen och så vidare till det sista elementet.

Intressanta artiklar...