Maison > Article > développement back-end > Boucle foreach C#
La boucle foreach en C# parcourt la collection d'éléments, il peut s'agir d'un tableau ou d'une liste, elle exécute le bloc de code sur une collection d'éléments lors de l'exécution de la boucle for, elle passe à travers les éléments de la collection et enfin elle en affiche un par un.
Syntaxe :
foreach(dataType variableName in collection variable) { // codeblock }
Dans la syntaxe ci-dessus, variableName contient l'élément actuel de la collection, les variables de collection définissent la structure de données qui implémente l'interface IEnumerable, ayant la collection d'éléments de liste à itérer et à afficher un par un. Le codeBlock contient la logique qui doit être exécutée en boucle.
Voyons le déroulement du processus de boucle foreach,
Le processus de fonctionnement de la boucle foreach est qu'elle parcourt les éléments de la collection tandis qu'en utilisant la boucle foreach, il est obligatoire de placer les instructions entre accolades {}. Lors de la déclaration d'une variable de compteur de boucle, nous pouvons déclarer le même type que le type de base du tableau.
Exemple :
foreach(int items in arrayValues) { Console.WriteLine(items); }
Le mot-clé est utilisé dans une boucle foreach pour itérer l'élément, le mot-clé sélectionne l'élément à partir de l'itération à chaque fois et il le stocke dans l'élément variable. Lors de la première itération, l'élément de départ de l'itération est stocké dans un élément et lors de la deuxième itération, l'élément suivant sera sélectionné et ainsi de suite. La boucle foreach sera exécutée de manière égale au nombre d'éléments du tableau ou de la liste.
Voyons la différence entre la boucle for et la boucle foreach comme suit,
Dans la boucle foreach, vous pouvez également voir les extraits de code dans lesquels nous pouvons arrêter et quitter une boucle à l'aide des instructions goto, return, break et throw. Voyons l'exemple dans lequel le code quittera l'exécution une fois que le nombre sera égal à 12.
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(); } }
Un autre exemple dans forloop, si vous avez besoin de trouver un caractère dans une chaîne, nous pouvons utiliser la boucle foreach pour vérifier un caractère à la fois dans une chaîne, cela crée un tableau de caractères à partir d'une chaîne et ne lit qu'un seul caractère. à la fois, cela garantit également que les espaces entre les caractères sont omis.
// 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); }
Cela montre que l'utilisation de la boucle foreach pour la collection dans une chaîne permet de trouver le nombre d'occurrences d'un caractère dans une chaîne,
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}");
Dans cet exemple, en utilisant une boucle foreach, il crée un tableau de chaînes qui lit et affiche chaque chaîne une par une.
// 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 ); }
Voyons des exemples de programme pour la boucle foreach, le programme suivant utilisant la boucle foreach pour montrer l'itération à travers les éléments du tableau.
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); } } }
Sortie :
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(); } } }
Sortie :
Comme l'exemple ci-dessus pour chaque avec le tableau, nous pouvons utiliser une boucle avec un objet liste pour accéder aux éléments d'un objet liste. Voyons l'exemple suivant utilisant la boucle foreach pour parcourir un élément de liste.
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.."); } } }
Sortie :
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; } }
Sortie :
À la fin de cet article, vous avez appris le fonctionnement de la boucle foreach et comment accéder à la valeur d'une collection du tableau. Nous avons également analysé la syntaxe et l'organigramme pour une compréhension facile. J'espère que vous avez compris l'article sur le bouclage.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!