C # buclă pentru fiecare (cu exemple)

În acest articol, vom învăța despre bucle foreach (o alternativă la bucla for) și cum să le utilizați cu tablouri și colecții.

C # oferă o alternativă ușor de utilizat și mai ușor de citit pentru bucla foreach, bucla foreach atunci când lucrați cu tablouri și colecții pentru a itera prin elementele matricilor / colecțiilor. Bucla foreach iterează prin fiecare element, numit de aici bucla foreach.

Înainte de a merge mai departe cu bucla foreach, vizitați:

  • C # pentru buclă
  • Matrici C #
  • Colecții C #

Sintaxa buclei foreach

 foreach (element în iterable-item) (// corpul buclei foreach) 

Aici iterable-item poate fi o matrice sau o clasă de colecție.

Cum funcționează bucla foreach?

Cuvântul incheie utilizat împreună cu bucla foreach este folosit pentru a itera peste elementul iterabil. Cuvântul cheie in selectează un element din iterabil-item pe fiecare iterație și îl stochează în elementul variabil.

La prima iterație, primul element al elementului iterabil este stocat în element. La a doua iterație, al doilea element este selectat și așa mai departe.

De câte ori se va executa bucla foreach este egal cu numărul de elemente din matrice sau colecție.

Iată un exemplu de iterație printr-o matrice folosind bucla for:

Exemplul 1: Imprimarea matricei folosind bucla for

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

Aceeași sarcină poate fi realizată folosind bucla foreach.

Exemplul 2: Imprimarea matricei folosind bucla foreach

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

Când rulăm ambele programe, ieșirea va fi:

 Buna ziua 

În programul de mai sus, bucla foreach iterează peste matrice, myArray. La prima iterație, primul element, adică myArray (0) este selectat și stocat în cap.

În mod similar, în ultima iterație, este selectat ultimul element, adică myArray (4). În interiorul corpului buclei se imprimă valoarea lui ch.

Când ne uităm la ambele programe, programul care folosește bucla foreach este mai ușor de citit și mai ușor de înțeles. Acest lucru se datorează sintaxei sale simple și expresive.

Prin urmare, bucla foreach este preferată în locul buclei atunci când se lucrează cu tablouri și colecții.

Exemplul 3: parcurgerea unei matrici de sex folosind bucla foreach

Acest program calculează numărul de candidați bărbați și femei.

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

Când rulăm programul, ieșirea va fi:

 Număr de bărbați = 6 Număr de femei = 4 

Exemplul 4: bucla foreach cu Listă (Colecție)

Acest program calculează suma elementelor dintr-o listă.

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

Când rulăm programul, ieșirea va fi:

 Suma = 44

În acest program, bucla foreach este utilizată pentru a traversa o colecție. Traversarea unei colecții este similară cu traversarea printr-o matrice.

Primul element al colecției este selectat în prima iterație, al doilea element în a doua iterație și așa mai departe până la ultimul element.

Articole interesante...