foreach, in (référence C#)
L'instruction foreach répète un groupe d'instructions incorporées pour chaque élément d'un tableau ou d'une collection d'objets qui implémente l'interface IEnumerable ou IEnumerable. L'instruction foreach sert à itérer au sein de la collection pour obtenir les informations souhaitées, mais elle ne peut pas être utilisée pour ajouter ou supprimer des éléments dans la collection source, ceci afin d'éviter des effets secondaires imprévisibles. Si vous devez ajouter ou supprimer des éléments dans la collection source, utilisez une boucle for.
Les instructions incorporées continuent à être exécutées pour chaque élément dans le tableau ou la collection. Une fois l'itération terminée pour tous les éléments de la collection, le contrôle est transféré à l'instruction suivante après le bloc foreach.
À n'importe quel point du bloc foreach, vous pouvez interrompre la boucle à l'aide du mot clé break ou passer directement à l'itération suivante de la boucle en utilisant le mot clé continue.
Une boucle foreach peut également être quittée à l'aide des instructions goto, return ou throw.
Pour plus d'informations sur le mot clé foreach et les exemples de code, consultez les rubriques suivantes :
Utilisation de foreach avec des tableaux (Guide de programmation C#)
Comment : accéder à une classe de collection à l'aide de foreach (Guide de programmation C#)
Exemple
L'exemple de code suivant illustre trois exemples :
boucle foreach typique qui affiche le contenu d'un tableau d'entiers
une boucle for avec le même effet
une boucle foreach qui comptabilise les éléments du tableau
class ForEachTest
{
static void Main(string[] args)
{
int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
foreach (int element in fibarray)
{
System.Console.WriteLine(element);
}
System.Console.WriteLine();
// Compare the previous loop to a similar for loop.
for (int i = 0; i < fibarray.Length; i++)
{
System.Console.WriteLine(fibarray[i]);
}
System.Console.WriteLine();
// You can maintain a count of the elements in the collection.
int count = 0;
foreach (int element in fibarray)
{
count += 1;
System.Console.WriteLine("Element #{0}: {1}", count, element);
}
System.Console.WriteLine("Number of elements in the array: {0}", count);
}
// Output:
// 0
// 1
// 1
// 2
// 3
// 5
// 8
// 13
// 0
// 1
// 1
// 2
// 3
// 5
// 8
// 13
// Element #1: 0
// Element #2: 1
// Element #3: 1
// Element #4: 2
// Element #5: 3
// Element #6: 5
// Element #7: 8
// Element #8: 13
// Number of elements in the array: 8
}
Spécification du langage C#
Pour plus d'informations, voir la Spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.
Voir aussi
Référence
Instructions d'itération (référence C#)