Partager via


Déclarations et boucles C# if - Tutoriel sur la logique conditionnelle

Ce tutoriel vous explique comment écrire du code C# qui examine les variables et modifie le chemin d’exécution en fonction de ces variables. Vous écrivez du code C# et voyez les résultats de la compilation et de l’exécution. Le tutoriel contient une série de leçons qui explorent les constructions de branchement et de bouclage en C#. Ces leçons vous enseignent les principes fondamentaux de la langue C#.

Conseil / Astuce

Lorsqu’un bloc d’extrait de code inclut le bouton « Exécuter », ce bouton ouvre la fenêtre interactive ou remplace le code existant dans la fenêtre interactive. Lorsque l’extrait de code n’inclut pas de bouton « Exécuter », vous pouvez copier le code et l’ajouter à la fenêtre interactive active.

Exécutez le code suivant dans la fenêtre interactive. Sélectionnez Exécuter :

int a = 5;
int b = 6;
if (a + b > 10)
    Console.WriteLine("The answer is greater than 10.");

Modifiez la déclaration de b sorte que la somme soit inférieure à 10 :

int b = 3;

Sélectionnez à nouveau le bouton Exécuter . Étant donné que la réponse est inférieure à 10, rien n’est imprimé. La condition que vous testez est false. Vous n’avez pas de code à exécuter, car vous n’avez écrit qu’une des branches possibles pour une if instruction : la véritable branche.

Conseil / Astuce

Lorsque vous explorez C# (ou tout langage de programmation), vous faites des erreurs lorsque vous écrivez du code. Le compilateur trouve ces erreurs et les signale à vous. Lorsque la sortie contient des messages d’erreur, examinez attentivement l’exemple de code et le code dans la fenêtre interactive pour voir ce qu’il faut corriger. Cet exercice vous aide à apprendre la structure du code C#.

Ce premier exemple montre la puissance de if et des types booléens. Une valeur booléenne est une variable qui peut avoir l’une des deux valeurs suivantes : true ou false. C# définit un type spécial, bool pour les variables booléennes. L’instruction if vérifie la valeur d’un bool. Quand la valeur est true, l’instruction qui suit if s’exécute. Dans le cas contraire, il est ignoré.

Ce processus de vérification des conditions et d’exécution d’instructions basées sur ces conditions est puissant. Examinons-en davantage.

Utiliser if et else ensemble

Pour exécuter un code différent dans les branches true et false, vous créez une else branche qui s’exécute lorsque la condition est false. Essayez le code suivant :

int a = 5;
int b = 3;
if (a + b > 10)
    Console.WriteLine("The answer is greater than 10");
else
    Console.WriteLine("The answer is not greater than 10");

L’instruction qui suit le else mot clé s’exécute uniquement lorsque la condition testée est false. Combiner if et else avec des conditions booléennes fournit toute la puissance dont vous avez besoin.

Importante

La mise en retrait sous les déclarations if et else est destinée aux lecteurs humains. Le langage C# ne traite pas la mise en retrait ou l’espace blanc comme significatif. L'instruction qui suit le mot-clé if ou else s'exécute en fonction de la condition. Tous les exemples de ce didacticiel suivent une pratique courante pour mettre en retrait les lignes en fonction du flux de contrôle des instructions.

Étant donné que la mise en retrait n’est pas significative, vous devez utiliser { et } indiquer quand vous souhaitez que plusieurs instructions font partie du bloc qui s’exécute de manière conditionnelle. Les programmeurs C# utilisent généralement les accolades pour toutes les clauses if et else. L’exemple suivant est le même que celui que vous avez créé. Essaie.

int a = 5;
int b = 3;
if (a + b > 10)
{
    Console.WriteLine("The answer is greater than 10");
}
else
{
    Console.WriteLine("The answer is not greater than 10");
}

Conseil / Astuce

Dans le reste de ce didacticiel, tous les exemples de code incluent les accolades, conformément aux pratiques acceptées.

Vous pouvez tester des conditions plus complexes :

int a = 5;
int b = 3;
int c = 4;
if ((a + b + c > 10) && (a == b))
{
    Console.WriteLine("The answer is greater than 10");
    Console.WriteLine("And the first number is equal to the second");
}
else
{
    Console.WriteLine("The answer is not greater than 10");
    Console.WriteLine("Or the first number is not equal to the second");
}

Le symbole == teste l’égalité. == se distingue du test d’égalité d’attribution, que nous avons vu avec a = 5.

Le && représente « et ». Cela signifie que les deux conditions doivent être true pour que l’instruction s’exécute dans la branche true. Ces exemples montrent également que vous pouvez avoir plusieurs instructions dans chaque branche conditionnelle, à condition de les placer dans { et }.

Vous pouvez également utiliser || pour représenter « ou » :

if ((a + b + c > 10) || (a == b))

Modifiez les valeurs de a, bet c basculez entre && et || pour explorer. Vous comprendrez mieux comment fonctionnent les opérateurs && et ||.

Utiliser des boucles pour répéter des opérations

Un autre concept important pour créer des programmes plus volumineux est des boucles. Vous utilisez des boucles pour répéter des instructions que vous souhaitez exécuter plusieurs fois. Essayez ce code dans la fenêtre interactive :

int counter = 0;
while (counter < 10)
{
    Console.WriteLine($"Hello World! The counter is {counter}");
    counter++;
}

L’instruction while vérifie une condition et exécute l’instruction suivant .while Elle répète la vérification de la condition et l’exécution de ces instructions jusqu’à ce que la condition soit false.

Il existe un autre nouvel opérateur dans cet exemple. ++ après la variable counter est l’opérateur d’incrémentation. Il ajoute 1 à la valeur du compteur et stocke cette valeur dans la variable de compteur.

Importante

Assurez-vous que la condition de while boucle passe à false lorsque vous exécutez le code. Sinon, vous créez une boucle infinie où votre programme ne se termine jamais. Ne montrons pas cela, car le moteur qui exécute votre code expire et vous ne voyez aucune sortie de votre programme.

La while boucle teste la condition avant d’exécuter le code suivant le while. La do boucle ... while exécute d’abord le code, puis vérifie la condition. Il ressemble à ceci :

int counter = 0;
do
{
    Console.WriteLine($"Hello World! The counter is {counter}");
    counter++;
} while (counter < 10);

Cette do boucle et la boucle précédente while fonctionnent de la même façon.

Passons maintenant à une dernière instruction de boucle.

Utiliser la boucle for

Une autre instruction de boucle courante que vous voyez dans le code C# est la for boucle. Essayez ce code dans la fenêtre interactive :

for (int counter = 0; counter < 10; counter++)
{
    Console.WriteLine($"Hello World! The counter is {counter}");
}

La boucle précédente for effectue le même travail que la while boucle et la do boucle que vous avez déjà utilisée. L’instruction for comporte trois parties qui contrôlent son fonctionnement :

  • La première partie est l’initialiseur for : int counter = 0; déclare counter comme la variable de boucle et définit sa valeur initiale à 0.
  • La partie centrale est la condition for : counter < 10 déclare que cette for boucle continue à s’exécuter tant que la valeur du compteur est inférieure à 10.
  • La dernière partie est l’itérateur pour : counter++ spécifie comment modifier la variable de boucle après l’exécution du bloc suivant l’instruction for . Ici, il spécifie que counter est incrémenté de 1 chaque fois que le bloc s’exécute.

Expérimentez ces conditions vous-même. Essayez chacune des modifications suivantes :

  • Modifiez l’initialiseur pour commencer à une autre valeur.
  • Modifiez la condition pour qu’elle s’arrête à une autre valeur.

Lorsque vous avez terminé, nous allons écrire du code vous-même pour utiliser ce que vous avez appris.

Il existe une autre instruction de bouclage qui n’est pas abordée dans ce tutoriel : l’instruction foreach . L’instruction foreach répète son instruction pour chaque élément dans une séquence d’éléments. Il est le plus souvent utilisé avec des collections. Il est abordé dans le tutoriel suivant.

Création de boucles imbriquées

Un while, do ou for boucle peut être imbriqué à l’intérieur d’une autre boucle pour créer une matrice à l’aide de la combinaison de chaque élément de la boucle externe avec chaque élément de la boucle interne. Nous allons le faire pour générer un ensemble de paires alphanumériques pour représenter des lignes et des colonnes.

Une for boucle peut générer les lignes :

for (int row = 1; row < 11; row++)
{
    Console.WriteLine($"The row is {row}");
}

Une autre boucle peut générer les colonnes :

for (char column = 'a'; column < 'k'; column++)
{
    Console.WriteLine($"The column is {column}");
}

Vous pouvez imbriquer une boucle à l’intérieur de l’autre pour former des paires :

for (int row = 1; row < 11; row++)
{
    for (char column = 'a'; column < 'k'; column++)
    {
        Console.WriteLine($"The cell is ({row}, {column})");
    }
}

Vous pouvez voir que la boucle externe incrémente une fois pour chaque exécution complète de la boucle interne. Inversez l’imbrication des lignes et des colonnes et observez les modifications.

Combiner des branches et des boucles

Maintenant que vous avez vu l’instruction if et les constructions de bouclage dans le langage C#, voir si vous pouvez écrire du code C# pour trouver la somme de tous les entiers 1 à 20 qui sont divisibles par 3. Voici quelques conseils :

  • L’opérateur % vous donne le reste d’une opération de division.
  • L’instruction if vous donne la condition pour voir si un nombre doit faire partie de la somme.
  • La for boucle peut vous aider à répéter une série d’étapes pour tous les nombres 1 à 20.

Essayez-le vous-même. Vérifiez ensuite comment vous l’avez fait. En guise d’indicateur, vous devriez obtenir 63 comme réponse.

Tu as trouvé quelque chose comme ça ?

:::code language="csharp" interactive="try-dotnet-method" source="./snippets/BranchesAndLoops/Program.cs" id="Challenge":::

Vous avez terminé le didacticiel interactif « branches et boucles ». Vous pouvez sélectionner le lien de collection de listes pour démarrer le tutoriel interactif suivant, ou vous pouvez visiter le site .NET pour télécharger le Kit de développement logiciel (SDK) .NET, créer un projet sur votre ordinateur et continuer à coder. La section « Étapes suivantes » vous ramène à ces didacticiels.

Pour en savoir plus sur ces concepts, consultez les articles suivants :