Partager via


while (Référence C#)

Mise à jour : novembre 2007

L'instruction while répète une instruction ou un bloc d'instructions jusqu'à ce qu'une expression spécifique corresponde à la valeur false.

Exemple

class WhileTest 
{
    static void Main() 
    {
        int n = 1;
        while (n < 6) 
        {
            Console.WriteLine("Current value of n is {0}", n);
            n++;
        }
    }
}
/*
    Output:
    Current value of n is 1
    Current value of n is 2
    Current value of n is 3
    Current value of n is 4
    Current value of n is 5
 */

class WhileTest2 
{
    static void Main() 
    {
        int n = 1;
        while (n++ < 6) 
        {
            Console.WriteLine("Current value of n is {0}", n);
        }
    }
}
/*
Output:
Current value of n is 2
Current value of n is 3
Current value of n is 4
Current value of n is 5
Current value of n is 6
*/

Parce que le test de l'expression while a lieu avant chaque exécution de la boucle, une boucle while est exécutée plusieurs fois ou pas du tout. Cela diffère de la boucle do, qui s'exécute une ou plusieurs fois.

Une boucle while peut être terminée lorsqu'une instruction break, goto, return, ou throw transfère le contrôle à l'extérieur de la boucle. Pour transmettre le contrôle à la prochaine itération sans sortir de la boucle, utilisez l'instruction continue. Remarquez la différence de sortie des trois exemples précédents, selon l'emplacement où int n est incrémenté. Dans l'exemple ci-dessous, aucune sortie n'est générée.

class WhileTest3
{
    static void Main() 
    {
        int n = 5;
        while (++n < 6) 
        {
            Console.WriteLine("Current value of n is {0}", n);
        }
    }
}

Spécification du langage C#

Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.

  • 5.3.3.7 Instructions while

  • 8.8.1 L'instruction while

Voir aussi

Concepts

Guide de programmation C#

Référence

Mots clés C#

The while Statement

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

Autres ressources

Référence C#