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 System.Collections.IEnumerable ou System.Collections.Generic.IEnumerable<T>.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

Le code suivant illustre trois exemples :

  • une boucle classique d' foreach qui affiche le contenu d'un tableau d'entiers

  • une boucle d' pour qui effectue la même

  • une boucle d' foreach qui met à jour le nombre d'é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, consultez 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

Mots clés C#

Instructions d'itération (référence C#)

for (référence C#)

Concepts

Guide de programmation C#

Autres ressources

Référence C#