English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Boucle while C#

C# fournit la boucle while, qui répète l'exécution du bloc de code tant que la condition spécifiée retourne false.

Syntaxe :

while(condition)
{  
  //Bloc de code
}

La boucle while commence par le mot-clé while et doit contenir une expression conditionnelle booléenne dans les crochets, qui retourne true ou false. Elle exécute le bloc de code jusqu'à ce que l'expression conditionnelle spécifiée retourne false.

Cette boucle for contient une initialisation et une incrémentation/Partie de décrémentation. Lorsque vous utilisez une boucle while, vous devez terminer l'initialisation avant le début de la boucle et effectuer les étapes d'augmentation ou de diminution à l'intérieur de la boucle.

int i = 0; // Initialisation
while (i < 10) //Condition
{
    Console.WriteLine("i = {0}", i);
    i++; // Incroyable
}
Sortie :
i = 0 
i = 1 
i = 2 
i = 3 
i = 4 
i = 5 
i = 6 
i = 7 
i = 8 
i = 9

La boucle while ci-dessus contient une expression i <10Dans la boucle while, utilisez i ++Augmentez la valeur de i à1Lorsque la valeur de i est égale à10et la condition i <10Lorsque false est retourné, l'exécution de la boucle while ci-dessus est effectuée.

Sortez de la boucle while en utilisant les mots-clés break ou return dans certaines conditions, comme indiqué ci-dessous.

int i = 0;
while (true)
{
    Console.WriteLine("i = {0}", i);
    i++;
    if (i > 10)
        break;
}

Assurez-vous que le résultat du calcul de l'expression conditionnelle soit faux, ou quittez la boucle while dans certaines conditions pour éviter des boucles infinies. La boucle suivante manque de conditions appropriées ou de interruption de boucle, ce qui la rend une boucle while infinie.

int i = 0;
while (i > 0)
{
    Console.WriteLine("i = {0}", i);
    i++;
}

Boucles while imbriquées

C# permet aux boucles while d'être imbriquées, comme suit. Cependant, il est déconseillé d'utiliser des boucles while imbriquées, car elles sont difficiles à déboguer et à maintenir.

int i = 0, j = 1;
while (i < 2)
{
    Console.WriteLine("i = {0}", i);
    i++;
    while (j < 2)
    {
        Console.WriteLine("j = {0}", j);
        j++;
    }
}
Sortie :
i = 0 
j = 1 
i = 1