C-SHARP - 3.11 Boucle (Démo)
Direction Visual Studio pour mettre en pratique la notion de boucles en C#. Il existe plusieurs types de boucles dans le langage : la boucle while, la boucle for et la boucle foreach. Toutes permettent grosso modo de faire la même chose, à savoir répéter des instructions. Dans cette démo, nous nous concentrons sur la boucle while ; les boucles for et foreach seront traitées dans une prochaine vidéo.
Construire un tableau et parcourir ses valeurs
On commence par créer un tableau de prénoms et l'afficher prénom par prénom grâce à la boucle while. La syntaxe d'un tableau est simple : on précise le type, des crochets, puis un nom. On l'instancie ensuite avec new et on déclare les valeurs entre accolades :
string[] tab_prenom = new string[] { "Jibril", "Jason", "Thibaut", "Ismael" };
On déclare ensuite une variable de type int qui va servir de compteur. Beaucoup de développeurs l'appellent i, mais ici on la nomme compteur pour la clarté, et on l'initialise à 0. Ce compteur jouera deux rôles : faire avancer la boucle et nous fournir l'index permettant d'accéder à chaque case du tableau.
Écrire la boucle while
La boucle while s'écrit avec une condition entre parenthèses. Ici, on veut continuer tant que le compteur est inférieur au nombre de valeurs du tableau. Comme on doit comparer un nombre à un nombre, on utilise tab_prenom.Length pour obtenir la taille du tableau. La condition devient donc compteur < tab_prenom.Length. Concrètement, c'est comme si l'on disait : tant que 0 est inférieur à 4, on exécute les instructions.
int compteur = 0;
while (compteur < tab_prenom.Length)
{
Console.WriteLine(tab_prenom[compteur]);
compteur++;
}
Pourquoi tab_prenom[compteur] et pas simplement tab_prenom ? Parce que pour afficher une valeur précise d'un tableau, il faut indiquer son index entre crochets. Si on mettait 0 en dur, on afficherait toujours Jibril. En passant compteur à la place, l'index évolue à chaque tour et chaque prénom apparaît à son tour.
Attention à la boucle infinie
L'erreur la plus fréquente est d'oublier d'incrémenter le compteur à l'intérieur du bloc. Sans compteur++, la variable reste à 0, la condition reste toujours vraie et les instructions s'exécutent à l'infini : c'est la boucle infinie. Pensez systématiquement à faire évoluer votre compteur pour atteindre la condition de sortie. Dans la prochaine vidéo, nous découvrirons les boucles for et foreach.
En résumé
Cette leçon présente une démonstration pratique des boucles en C# dans Visual Studio. Après avoir énuméré les trois types de boucles disponibles (while, for, foreach), le cours se concentre sur la boucle while en montrant comment parcourir les éléments d'un tableau de prénoms et les afficher à la console. L'instructeur insiste particulièrement sur l'importance d'incrémenter le compteur à chaque itération pour éviter une boucle infinie.
Points clés
- Il existe trois types de boucles en C# : while, for et foreach, qui accomplissent essentiellement la même fonction
- La boucle while exécute des instructions tant qu'une condition reste vraie
- L'accès aux éléments d'un tableau utilise des crochets carrés [] avec l'index (le premier élément a l'index 0)
- La propriété .Length du tableau permet de comparer le compteur avec le nombre total d'éléments
- L'incrémentation du compteur (++) est obligatoire pour éviter une boucle infinie
- Console.WriteLine() affiche chaque élément du tableau à la console lors de chaque itération
Questions fréquentes
Comment accède-t-on à chaque élément d'un tableau dans une boucle while?
En utilisant des crochets carrés [] avec la variable compteur en index. Exemple : tableau[compteur] accède au premier élément quand compteur = 0, au deuxième quand compteur = 1, etc.
À quoi sert la propriété .Length sur un tableau?
.Length retourne le nombre d'éléments dans le tableau, ce qui permet de comparer un nombre avec un nombre dans la condition de la boucle (compteur < tableau.Length).
Qu'est-ce qu'une boucle infinie et comment l'éviter?
Une boucle infinie se produit quand la condition ne devient jamais fausse. Pour l'éviter, il faut absolument incrémenter le compteur (compteur++) à chaque itération, sinon la condition restera toujours vraie.