Boucle : while
La boucle while continue tant que son travail n’est pas fini.
Syntaxe
while(condition)
{
// instructions
}
Condition de fin
La boucle s’arrête lorsque la condition entre parenthèses a une valeur logique : faux.
Donc, une boucle :
while(true)
{
}
ne s’arrête jamais, sauf si on utilise le mot clé break pour forcer la sortie de la boucle.
Boucle avec compteur
La technique habituelle pour déterminer le nombre de fois que la boucle est exécutée est la suivante :
- une variable qui compte les tours ; elle commence habituellement à 0 ;
- la condition entre parenthèses donne vrai ou faux selon la valeur du compteur ;
- la boucle fait ses instructions tant que le compteur est plus petit que le nombre maximum de boucles à faire.
// Cette boucle exécute ses instructions 10 fois
int compteur = 0;
while(compteur < 10)
{
// instructions
}
Boucle avec compteur et instruction break
while est souvent utilisé avec un compteur et une instruction break pour sortir de la boucle quand une condition est remplie avant que le compteur n'atteigne sa valeur maximale . Par exemple, pour demander un mot de passe à l'utilisateur et arrêter la boucle si le mot de passe est correct ou si le nombre d'essais est épuisé :
string motDePasseCorrect = "Secret123";
int essaisRestants = 3;
while (essaisRestants > 0)
{
Console.Write("Entrez le mot de passe : ");
string saisie = Console.ReadLine();
if (saisie == motDePasseCorrect)
{
Console.WriteLine("Connexion réussie !");
break; // Sortie immédiate de la boucle : les autres essais ne sont pas nécessaires
}
// À ce point-ci on sait que le mot de passe est incorrect, on décrémente le nombre d'essais restants
essaisRestants = essaisRestants - 1;
Console.WriteLine("Mot de passe incorrect. Essais restants :" + essaisRestants);
}