Recommended resources
The freely available resources this lesson will direct you to.
Bonjour ! Prêt pour une nouvelle leçon ?
Dans notre dernière session, nous avons vu comment utiliser les instructions if, else if, else et switch pour que notre programme prenne des décisions. C'est ce qui nous permet d'exécuter un bloc de code une seule fois si une condition est remplie.
Aujourd'hui, nous allons découvrir un concept tout aussi fondamental : les boucles. Alors que les conditions permettent de choisir un chemin, les boucles permettent de répéter un chemin plusieurs fois. C'est grâce à elles que nous pourrons, par exemple, afficher tous les produits d'un catalogue, traiter toutes les lignes d'un fichier ou, plus simplement, répéter une action un nombre de fois défini.
L'objectif de cette leçon est d'écrire des boucles pour itérer sur des collections (for, while, foreach). Nous allons explorer les trois types de boucles principaux en C#, comprendre leurs différences et savoir quand utiliser chacune d'elles.
1. La boucle while : Répéter tant qu'une condition est vraie
La boucle while (qui signifie "tant que") est la plus fondamentale. Elle est très proche d'une instruction if qui se répéterait tant que sa condition reste vraie.
La structure est simple :
while (condition)
{
// Ce code sera exécuté en boucle...
// ...tant que la 'condition' est évaluée à 'true'.
}
L'élément crucial est que quelque chose à l'intérieur de la boucle doit, à un moment donné, rendre la condition fausse. Sinon, vous créez une boucle infinie, et votre programme se bloquera !
Pour bien comprendre ce mécanisme, y compris comment l'éviter, regardons un extrait vidéo.
Cette vidéo de la chaîne EvoluNoob explique en détail le fonctionnement de la boucle while, l'importance d'un compteur, et le piège de la boucle infinie.
Regardez l'extrait de 04:43 à 11:25. Concentrez-vous sur les points suivants : La syntaxe de base de la boucle while. Le rôle de la variable 'compteur' (souvent nommée i). Pourquoi l'incrémentation (i++) est essentielle pour éviter une boucle infinie. La différence entre commencer à 0 avec < et commencer à 1 avec <=.
Exemple pratique : Un simple compteur
Voici un exemple classique de boucle while qui compte de 1 à 5 :
int i = 1; // 1. Initialisation : On commence à 1.
while (i <= 5) // 2. Condition : On continue tant que i est inférieur ou égal à 5.
{
Console.WriteLine(i); // Affiche la valeur actuelle de i.
i++; // 3. Itération : On incrémente i. Sans cette ligne, la boucle serait infinie !
}
Console.WriteLine("La boucle est terminée.");
Ce code affichera :
1
2
3
4
5
La boucle est terminée.
Quand l'utiliser ? La boucle while est idéale lorsque vous ne savez pas à l'avance combien de fois vous devez répéter une action. Par exemple, attendre que l'utilisateur entre une donnée valide.
2. La boucle for : Répéter un nombre de fois connu
La boucle for est une version plus structurée et compacte de la boucle while. Elle est parfaite lorsque vous savez exactement combien de fois vous voulez itérer. Elle regroupe l'initialisation, la condition et l'itération en une seule ligne, ce qui la rend très lisible.
Sa syntaxe est la suivante : for (initialisation; condition; itération)
Apprendre le C# - 05 - Les boucles for, foreach et while
Cette vidéo de Pentiminax offre une démonstration rapide et claire de la boucle for utilisée pour parcourir une liste, un cas d'usage très courant.
Regardez l'extrait de 00:30 à 02:45. Observez comment la boucle for est construite et comment l'indice i est utilisé pour accéder aux éléments d'une collection.
Reprenons notre compteur de 1 à 5, cette fois avec une boucle for :
// (initialisation; condition; itération)
for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
Console.WriteLine("La boucle est terminée.");
Le résultat est identique, mais le code est plus concis. Les trois parties de la gestion de la boucle sont réunies au même endroit, ce qui limite les risques d'erreur comme l'oubli de l'incrémentation.
Quand l'utiliser ? Utilisez for dès que vous avez besoin de faire quelque chose un nombre précis de fois ou d'itérer sur une collection en utilisant un index numérique.
3. La boucle foreach : Parcourir une collection
La boucle foreach est la manière la plus simple et la plus sûre de parcourir tous les éléments d'une collection (comme un tableau ou une liste, que nous verrons en détail dans la prochaine leçon).
Sa syntaxe est très expressive et se lit presque comme une phrase en français : "Pour chaque élément dans la collection..."
foreach (type element in collection)
Pour bien visualiser la différence, lisez cette section du tutoriel de MakeYourGame. L'exemple avec les mousquetaires est très clair pour comprendre l'élégance de la boucle foreach.
Lisez la section intitulée La boucle foreach. Concentrez-vous sur la syntaxe et comment la variable mousquetaire prend successivement la valeur de chaque élément du tableau tableauMousquetaires.
Exemple pratique : Afficher une liste de noms
Imaginons que nous ayons un tableau de chaînes de caractères. Voici comment l'afficher avec foreach :
string[] fruits = { "Pomme", "Banane", "Orange" };
foreach (string fruit in fruits)
{
Console.WriteLine($"J'aime le fruit : {fruit}");
}
Ce code affichera :
J'aime le fruit : Pomme
J'aime le fruit : Banane
J'aime le fruit : Orange
Avec foreach, vous n'avez pas à gérer d'index (i) ou de condition d'arrêt. La boucle s'arrête automatiquement après le dernier élément. C'est plus simple et moins sujet aux erreurs.

Quand l'utiliser ? Utilisez foreach chaque fois que vous voulez simplement effectuer une action sur chaque élément d'une collection, du premier au dernier, et que vous n'avez pas besoin de connaître l'index de l'élément.
4. Résumé et exercice

| Boucle | Quand l'utiliser |
|---|---|
while |
Le nombre d'itérations est inconnu et dépend d'une condition qui change. |
for |
Le nombre d'itérations est connu à l'avance (ex: 10 fois, ou la taille d'un tableau). |
foreach |
Vous voulez parcourir chaque élément d'une collection, sans vous soucier de l'index. |
Exercice Pratique : Table de multiplication
Maintenant, à vous de jouer ! Votre objectif est de créer un programme qui demande un nombre à l'utilisateur, puis affiche sa table de multiplication de 1 à 10.
Par exemple, si l'utilisateur entre 7, le programme doit afficher :
7 x 1 = 7
7 x 2 = 14
...
7 x 10 = 70
Instructions :
- Créez un nouveau projet console.
- Demandez à l'utilisateur d'entrer un nombre et lisez sa réponse. N'oubliez pas de la convertir en entier avec
int.Parse(). - Utilisez une boucle
forpour itérer de 1 à 10. - À l'intérieur de la boucle, calculez le résultat et affichez-le au format
nombre x i = resultat.
Cet exercice est un excellent moyen de mettre en pratique la boucle for. Prenez le temps d'essayer de le résoudre par vous-même. Vous trouverez des exercices similaires dans la ressource LINK (section 2.4.3, Exercice 6).
Conclusion
Félicitations ! Vous avez ajouté les boucles à votre boîte à outils de développeur. La combinaison des conditions (pour choisir) et des boucles (pour répéter) constitue l'essentiel de la logique de programmation.
Les points clés à retenir :
- La boucle
whilese base sur une condition et est flexible. - La boucle
forest parfaite pour un nombre d'itérations connu, avec un compteur. - La boucle
foreachest la plus simple et la plus sûre pour parcourir tous les éléments d'une collection.
Dans la prochaine leçon, nous allons nous plonger dans ce que nous avons commencé à utiliser aujourd'hui : les collections. Nous allons créer et manipuler des tableaux et des listes (List<T>). Maintenant que vous savez comment itérer dessus, vous serez prêt à stocker, gérer et traiter des ensembles de données, ce qui est une compétence indispensable pour construire votre future application e-commerce.