Die foreach-Schleife in C# durchläuft die Sammlung von Elementen, es kann ein Array oder eine Liste sein, sie führt den Codeblock für eine Sammlung von Elementen aus, wenn sie eine For-Schleife ausführt, durchläuft sie Elemente in der Sammlung und zeigt schließlich eins nach dem anderen an eins.
Syntax:
foreach(dataType variableName in collection variable) { // codeblock }
In der obigen Syntax enthält VariableName das aktuelle Element in der Sammlung. Sammlungsvariablen definieren die Datenstruktur, die die Schnittstelle IEnumerable implementiert und die Sammlung von Listenelementen enthält, die einzeln iteriert und angezeigt werden sollen. Der CodeBlock enthält die Logik, die in einer Schleife ausgeführt werden soll.
Sehen wir uns den Ablauf des foreach-Schleifenprozesses an
Der Arbeitsprozess der foreach-Schleife besteht darin, dass sie die Elemente in der Sammlung durchläuft. Bei der Verwendung der foreach-Schleife ist es zwingend erforderlich, Anweisungen in geschweifte Klammern {} einzuschließen. Wenn wir eine Variable einer Schleifenzählervariablen deklarieren, können wir denselben Typ wie den Basistyp des Arrays deklarieren.
Beispiel:
foreach(int items in arrayValues) { Console.WriteLine(items); }
Das Schlüsselwort wird in einer foreach-Schleife verwendet, um das Element zu iterieren. Das Schlüsselwort wählt das Element jedes Mal aus der Iteration aus und speichert es im Variablenelement. In der ersten Iteration wird das Startelement der Iteration in einem Element gespeichert und in der zweiten Iteration wird das nächste Element ausgewählt und so weiter. Die foreach-Schleife wird entsprechend der Anzahl der Elemente im Array oder in der Liste ausgeführt.
Sehen wir uns den Unterschied zwischen for-Schleife und foreach-Schleife wie folgt an:
In der foreach-Schleife können Sie auch die Codierungsausschnitte sehen, in denen wir mithilfe der Anweisungen goto, return, break und throw eine Schleife stoppen und verlassen können. Sehen wir uns das Beispiel an, in dem der Code die Ausführung beendet, sobald die Zahl 12 beträgt.
using System; class Program { static void Main(string[] args) { Console.WriteLine("foreach loop Sample!"); int[] oddArray = new int[] { 2,4,6,8,10,12,14,16,18,20 }; // Loop through array items foreach (int num in oddArray) { Console.WriteLine(num); // it don't read the number after 12 if (num == 12) break; } Console.ReadKey(); } }
Ein weiteres Beispiel in einer forloop: Wenn Sie ein Zeichen in einer Zeichenfolge finden müssen, können wir die foreach-Schleife verwenden, um jeweils ein Zeichen in einer Zeichenfolge zu überprüfen. Dabei wird ein Array von Zeichen aus einer Zeichenfolge erstellt und nur ein Zeichen gelesen Gleichzeitig wird außerdem sichergestellt, dass der Leerraum zwischen den Zeichen weggelassen wird.
// Reads one character at a time and it skips the process if space comes string data = "C# Programming"; // it convert the string into an array of chars char[] _array = data .ToCharArray(); // display one char at a time foreach (char item in _array) { if (item.ToString() != " ") Console.WriteLine(item); }
Es zeigt, dass durch die Verwendung der foreach-Schleife zum Sammeln in einer Zeichenfolge die Häufigkeit des Vorkommens eines Zeichens in einer Zeichenfolge ermittelt wird,
string _string = "Latest C# Programming :Language"; char[] _charArray = _string.ToCharArray(); int _count = 0; // Loop through chars and find all 'n' and count them foreach (char item in charArray ) { if (item == 'a') _count++; } Console.WriteLine($"Total n found {_count}");
In diesem Beispiel wird mithilfe einer foreach-Schleife ein String-Array erstellt, das jeden einzelnen String einzeln liest und anzeigt.
// Array of name list in string string[] nameList = new string[] { "Chand", "Leo", "Smith", "Allen", "Rick" }; // Loop through array and read all authors foreach (string item in nameList ) { Console.WriteLine(item ); }
Sehen wir uns Programmbeispiele für die foreach-Schleife an. Das folgende Programm verwendet die foreach-Schleife, um die Iteration durch die Array-Elemente zu zeigen.
Code:
using System; class Program_1 { // Main Method public static void Main(string[] args) { Console.WriteLine("Display Elements"); // creating an array char[] _arrayList={'L','O','O','P','I','N','G'}; // it execute the loop till the last appearance of element in the array foreach(char items in _arrayList) { Console.WriteLine(items); } } }
Ausgabe:
Code:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Program_2 { class Program_2 { static void Main(string[] args) { string[] data = new string[5]; // declaring array //Storing value in array element data[0] = "Java"; data[1] = "DotNet"; data[2] = "PHP"; data[3] = "SQL SERVER"; data[4] = "ANDROID"; //retrieving value using foreach loop foreach (string items in data) { Console.WriteLine("Welcome " + items); } //Console.ReadLine(); } } }
Ausgabe:
Wie im obigen Beispiel für jedes mit dem Array können wir eine Schleife mit einem Listenobjekt verwenden, um auf die Elemente in einem Listenobjekt zuzugreifen. Sehen wir uns das folgende Beispiel an, in dem die foreach-Schleife verwendet wird, um ein Listenelement zu durchlaufen.
Code:
using System; using System.Collections.Generic; namespace Program_3 { class Program_3 { static void Main(string[] args) { List<string> nameList = new List<string>() { "Smith", "Steve", "Gates" }; foreach (string name in name list) { Console.WriteLine(name); } Console.WriteLine("Press Enter Key to Exit.."); } } }
Ausgabe:
Code:
using System; class Program_4 { // Main Method public static void Main(String[] arg) { { int[] codes = { 135, 142, 75, 106, 100 }; int newCodes = HighestCodes(codes); Console.WriteLine("New Code is " + newCodes); } } // method to find HighestCodes public static int HighestCodes(int[] values) { int _num = values[0]; // for each loop foreach (int item in values) { if (item > _num) { _num = item; } } return _num; } }
Ausgabe:
Am Ende dieses Artikels haben Sie erfahren, wie die foreach-Schleife funktioniert und wie Sie auf Werte aus einer Sammlung des Arrays zugreifen können. Außerdem haben wir die Syntax und das Flussdiagramm analysiert, um das Verständnis zu erleichtern. Ich hoffe, Sie haben den Artikel zum Thema Looping verstanden.
Das obige ist der detaillierte Inhalt vonC# foreach-Schleife. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!