C # foreach-Schleife (mit Beispielen)

In diesem Artikel erfahren Sie mehr über foreach-Schleifen (eine Alternative zu for-Schleifen) und deren Verwendung mit Arrays und Sammlungen.

C # bietet eine benutzerfreundliche und besser lesbare Alternative zur for-Schleife, der foreach-Schleife, wenn Sie mit Arrays und Sammlungen arbeiten, um die Elemente von Arrays / Sammlungen zu durchlaufen. Die foreach-Schleife durchläuft jedes Element und wird daher als foreach-Schleife bezeichnet.

Bevor Sie mit foreach loop fortfahren, besuchen Sie:

  • C # für Schleife
  • C # -Arrays
  • C # -Sammlungen

Syntax der foreach-Schleife

 foreach (Element in iterable-item) (// Hauptteil der foreach-Schleife) 

Hier kann iterable-item ein Array oder eine Klasse von Sammlungen sein.

Wie funktioniert jede Schleife?

Das inSchlüsselwort, das zusammen mit foreach loop verwendet wird, wird verwendet, um über das iterable-Element zu iterieren. Das Schlüsselwort in wählt bei jeder Iteration ein Element aus dem iterierbaren Element aus und speichert es im variablen Element.

Bei der ersten Iteration wird das erste Element des iterierbaren Elements im Element gespeichert. Bei der zweiten Iteration wird das zweite Element ausgewählt und so weiter.

Die Häufigkeit, mit der die foreach-Schleife ausgeführt wird, entspricht der Anzahl der Elemente im Array oder in der Sammlung.

Hier ist ein Beispiel für das Durchlaufen eines Arrays mit der for-Schleife:

Beispiel 1: Array mit for-Schleife drucken

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

Die gleiche Aufgabe kann mit der foreach-Schleife ausgeführt werden.

Beispiel 2: Array mit foreach-Schleife drucken

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

Wenn wir beide Programme ausführen, lautet die Ausgabe:

 Hallo 

Im obigen Programm durchläuft die foreach-Schleife das Array myArray. Bei der ersten Iteration wird das erste Element, dh myArray (0), ausgewählt und in ch gespeichert.

In ähnlicher Weise wird bei der letzten Iteration das letzte Element, dh myArray (4), ausgewählt. Innerhalb des Schleifenkörpers wird der Wert von ch gedruckt.

Wenn wir uns beide Programme ansehen, ist das Programm, das foreach-Schleife verwendet, besser lesbar und leicht zu verstehen. Dies liegt an seiner einfachen und ausdrucksstarken Syntax.

Daher wird bei der Arbeit mit Arrays und Sammlungen die foreach-Schleife der for-Schleife vorgezogen.

Beispiel 3: Durchlaufen eines Geschlechtsarrays mit foreach-Schleife

Dieses Programm berechnet die Anzahl der männlichen und weiblichen 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); ) ) ) 

Wenn wir das Programm ausführen, lautet die Ausgabe:

 Anzahl der Männer = 6 Anzahl der Frauen = 4 

Beispiel 4: foreach-Schleife mit Liste (Sammlung)

Dieses Programm berechnet die Summe der Elemente in einer 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); ) ) ) 

Wenn wir das Programm ausführen, lautet die Ausgabe:

 Summe = 44

In diesem Programm wird foreach loop verwendet, um eine Sammlung zu durchlaufen. Das Durchlaufen einer Sammlung ähnelt dem Durchlaufen eines Arrays.

Das erste Element der Sammlung wird bei der ersten Iteration ausgewählt, das zweite Element bei der zweiten Iteration usw. bis zum letzten Element.

Interessante Beiträge...