DTeK Learn logo

Tout savoir sur les boucles C#

22/09/2023

Les boucles sont des structures fondamentales en programmation qui permettent d’exécuter du code de manière répétée jusqu’à ce qu’une condition spécifique soit atteinte. En C#, l’un des langages de programmation les plus populaires, les développeurs utilisent principalement trois types de boucles : for, foreach et while.

Chacune de ces boucles offre des méthodes uniques pour itérer à travers des données et effectuer des tâches répétitives.

@dteklearn Alerte #FlashCode 🚨 Revenons sur les bases C# avec un petit récapitulatif sur les boucles. Que sont les boucles For, While, Foreach, à quoi elles servent et comment les utiliser, en moins de 2min ! #Csharp #csharpcoding #csharpprogramming #ApprendreCsharp #DevenirDeveloppeur #DevenirDeveloppeurWeb #DevenirDeveloppeuse #BoucleFor #BoucleWhile #BoucleForeach #ApprendreDeveloppement ♬ son original - DTeK Learn

1. La boucle for en C#

La boucle for est l’une des boucles les plus utilisées. Elle est principalement utilisée lorsque le nombre d’itérations est connu à l’avance et que tu souhaites effectuer des actions répétées sur une séquence de valeurs.

La boucle for utilise une variable de contrôle qui est généralement incrémentée ou décrémentée à chaque itération jusqu’à ce qu’une condition spécifiée ne soit plus satisfaite.

 

Syntaxe de la boucle for

Voici la syntaxe générale de la boucle for en C# :

for (initialisation; condition; itération)
{
// Instructions à répéter
}

Initialisation
Cette partie est exécutée une seule fois avant le début de la boucle. Elle permet de définir et d’initialiser la variable de contrôle.

Condition
La condition est évaluée avant chaque itération. Tant que cette condition est vraie, les instructions seront exécutées. Si la condition devient fausse, la boucle for se termine.

Itération
Cette partie est exécutée à la fin de chaque itération. Elle modifie généralement la valeur de la variable de contrôle, afin de préparer la prochaine itération.

 

Exemple d’utilisation de la boucle for

Supposons que nous voulons afficher les nombres de 1 à 5 dans la console en utilisant la boucle for.

for (int = 1; i <= 5; i++)
{
    Console.WriteLine(i);
}

Dans cet exemple, nous avons utilisé une variable i comme variable de contrôle. La boucle démarre avec i initialisée à 1, se poursuit tant que i est inférieure ou égale à 5, et à chaque itération, la valeur de i est incrémentée de 1 (i++). Le résultat affiché dans la console sera :

1
2
3
4
5

Cas d’utilisation appropriés de la boucle for

La boucle for est appropriée lorsque tu as besoin de répéter du code un nombre prédéterminé de fois. Elle est souvent utilisée pour parcourir des tableaux, des listes, des chaînes de caractères ou pour effectuer des opérations mathématiques répétitives.

 

Les meilleures pratiques

 

  • Éviter les boucles infinies. Assures toi que la condition de la boucle for finira par devenir fausse, sinon tu vas créer une boucle infinie qui peut entraîner un plantage de l’application.
  • Limites. Ta variable de contrôle doit atteindre les valeurs attendues, pour éviter les erreurs de dépassement de capacités.
  • Noms des variables. Choisis des noms de variables explicites pour la variable de contrôle afin de rendre ton code plus lisible.
  • Pré-incréments et pré-décréments. Dans la plupart des cas, l’utilisation de pré-incréments (++i : l’opération est inscrite avant la variable) ou de pré-décréments (–i) est plus efficace que les post-incréments (i++ : l’opération est inscrite après la variable) ou post-décréments (i–).

En comprenant bien la syntaxe et les meilleures pratiques associées à la boucle for, tu seras en mesure d’utiliser cette boucle de manière efficace pour résoudre une variété de problèmes en C#.

2. La boucle foreach en C#

La boucle foreach est une boucle spécialement conçue pour parcourir des collections telles que les tableaux, les listes, les dictionnaires ou tout autre type de données itérables.

Contrairement à la boucle for, la boucle foreach ne nécessite pas de variable de contrôle explicite, ce qui la rend plus lisible et plus simple à utiliser. Elle permet de parcourir tous les éléments d’une collection de manière séquentielle et d’exécuter du code pour chaque élément de la collection.

Syntaxe de la boucle foreach

Voici la syntaxe générale de la boucle foreach en C#

foreach (type element in collection)
{
    // Instructions à exécuter pour chaque élément de la collection
}

Type
Le mot-clé « type » représente le type de données des éléments de la collection. Tu dois le remplacer par le type de données appropriées (int, string, object…).

Element
C’est une variable qui représente chaque élément de la collection pendant le parcours. A chaque itération, cette variable prendra la valeur de l’élément suivant dans la collection.

Collection
Tout simplement la collection que tu souhaites parcourir. Cela peut-être un tableau, une liste, un dictionnaire ou toute autre collection implémentant l’interface « lEnumerable ».

 

Exemple d’utilisation de la boucle foreach

Supposons que nous avons un tableau de noms et que nous voulons afficher chaque nom dans la console en utilisant la boucle foreach.

string[] names = { « Alice », « Bob », « Charlie », « David » };
foreach (string name in names)
{
    Console.WriteLine(name);
}

Dans cet exemple nous avons utilisé la boucle foreach pour parcourir le tableau names contenant les noms de personnes. A chaque itération, la varible name prendra la valeur de l’élément suivant dans le tableau, et le nom sera affiché dans la console. Le résultat affiché sera :

Alice
Bob
Charlie
David

Cas d’utilisation appropriés de la boucle foreach

La boucle foreach est appropriée lorsque tu as besoin de parcourir tous les éléments d’une collection sans se soucier de l’index ou de la longueur de la collection. Elle est souvent utilisée pour des opérations de lecture ou de manipulation de données dans des collections.

 

Les meilleures pratiques

  • Ne modifie pas la collection en cours de parcours. Il est déconseillé de modifier la collection pendant que tu las parcours avec la boucle foreach, car cela peut entraîner des erreurs inattendues.
  • Vérifie si la collection est nulle ou vide. Avant d’utiliser foreach, vérifie toujours si la collection est nulle ou vide pour éviter des exceptions NullReference ou des erreurs d’exécution.
  • Nommage de la variable d’itération. Pour rendre ton code plus lisible, tu peux utiliser le mot-clef var pour nommer la variable d’itération, laissant ainsi au compilateur le soin de déduire le type approprié.

En comprenant bien la syntaxe et les meilleures pratiques associées à la boucle foreach, tu pourras tirer pleinement parti de cette boucle pour itérer à travers les collections de manière simple et efficace en C#.

3. La boucle while en C#

La boucle while en C# est utilisée lorsque le nombre d’itérations n’est pas connu à l’avance et dépend d’une condition spécifique. Tant que cette condition est vraie, le code à l’intérieur de la boucle sera répété.

La boucle while est très utile lorsque tu souhaites exécuter une séquence d’instruction de manière continue jusqu’à ce qu’une certaine condition ne soit plus satisfaite.

 

Syntaxe de la boucle while

Voici la syntaxe de la boucle while en C#

while (condition)
{
    // Instructions à répéter tant que la condition est vraie
}

Condition
La condition est une expression booléenne qui est évaluée avant chaque itération. Si la condition est vraie, le bloc d’instruction à l’intérieur de la boucle est exécuté. Si la condition est fausse, la boucle while se termine et l’exécution continue avec le code après la boucle.

 

Exemple d’utilisation de la boucle while

Supposons que nous voulons afficher les entiers de 1 à 5 dans la console en utilisant la boucle while.

int i = 1;
while (i <= 5)
{
    Console.WriteLine(i);
    i++;
}

Dans cet exemple, nous avons initialisé la variable i à 1 en dehors de la boucle. Tant que la condition i <= 5 est vraie, les instructions à l’intérieur de la boucle sont exécutées. A chaque itération, nous affichons la valeur de i dans la console, puis nous incrémentons i de 1 (i++). Le résultat affiché sera :

1
2
3
4
5

Cas d’utilisations appropriés de la boucle while

La boucle while est appropriée lorsque le nombre d’itérations dépend d’une condition qui n’est pas nécessairement liée à l’index ou à la longueur d’une collection. Elle est souvent utilisée pour des boucles d’attente, des boucles d’entrée utilisateur ou pour gérer des itérations avec des conditions dynamiques.

 

Meilleures pratiques

  • Sortie de boucle. Pour éviter les boucles infinies, assure-toi qu’il y a une condition dans le bloc d’instruction qui finira par devenir fausse, ou une instruction break qui permettra de sortir de la boucle.
  • Initialisation des variables. Initialise toutes les variables utilisées dans la condition en dehors de la boucle. Cela garantie que les variables sont correctement initialisées avant d’entrer dans la boucle.
  • Conditions ambiguës. Veille à ce que la condition de la boucle while soit bien définie et qu’elle puisse être évaluée de manière appropriée à chaque itération.

En comprenant bien la syntaxe et les meilleures pratiques associées à la boucle while, tu pourras utiliser cette boucle de manière efficace pour gérer des itérations basées sur des conditions dynamiques en C#.

Chacune des boucles for, foreach et while a ses propres cas d’utilisation et avantages spécifiques. Que tu sois un développeur chevronné cherchant à approfondir tes connaissances en C# ou un développeur junior la maîtrise de ces boucles te permettra d’écrire des programmes plus efficaces et de résoudre des problèmes de manière plus élégante.

QCM

Testez vos connaissances sur ce sujet

TL;DR

La boucle for est utilisée lorsque le nombre d’itérations est connu à l’avance ou déterminé par une séquence numérique. Elle est idéale pour parcourir des tableaux, des listes, des chaînes de caractères ou pour effectuer des opérations mathématiques répétitives.

La boucle foreach est adaptée pour parcourir tous les éléments d’une collection sans se soucier de l’index ou de la longueur de la collection. Elle est souvent utilisée pour parcourir des tableaux, des listes, des dictionnaires et pour les des éléments d’une collection.

La boucle while est appropriée lorsque le nombre d’itérations dépend d’une condition qui n’est pas nécessairement liée à l’index ou à la longueur d’une collection. Elle est couramment utilisée pour attendre qu’une condition soit satisfaite, pour gérer des entrées utilisateur ou pour des itérations avec des conditions dynamiques.