Comprendre les déclarations If-Else du C# : Guide du débutant
Dans la programmation C#, la prise de décision basée sur des conditions est un aspect fondamental de la création d'applications dynamiques et réactives. C'est là que les instructions if-else entrent en jeu. Une instruction if-else en C# permet à un programme d'exécuter différents blocs de code selon qu'une condition spécifiée est vraie ou fausse.
Ce guide, inspiré de la vidéo 'C# pour débutants Partie 2 - Apprendre à écrire une instruction 'if-else' et une boucle 'while'' de LaylaCodesIt, vous présentera les bases de l'instruction if-else en C#, l'utilisation des opérateurs conditionnels et logiques dans l'écriture de conditions booléennes, en démontrant comment faire interagir vos programmes de manière intelligente avec les entrées de l'utilisateur.
Introduction à la logique conditionnelle
La logique conditionnelle permet à un programme de prendre des décisions en fonction de certaines conditions. La vidéo de Layla présente le concept et la syntaxe de l'instruction if-else, un exemple de logique conditionnelle, qui exécute différents blocs de code selon qu'une condition spécifiée est vraie ou fausse.
Dans l'exemple de code suivant, Layla code un message d'accueil pour demander à l'utilisateur s'il aime le fromage :
// Asking the user a question and storing their response
Console.WriteLine($"Hello {name}, do you like cheese?");
string doTheyLikeCheese = Console.ReadLine();
// Asking the user a question and storing their response
Console.WriteLine($"Hello {name}, do you like cheese?");
string doTheyLikeCheese = Console.ReadLine();
Simple If-Else Statement in C
Ensuite, cette instruction conditionnelle if-else vérifie la réponse de l'utilisateur et modifie sa réponse en fonction de ce que l'utilisateur a dit. La condition est construite à l'aide d'opérateurs conditionnels et, en fonction de son résultat, les instructions contenues dans les blocs if-else sont exécutées. Voici un exemple simple avec une déclaration d'une seule ligne :
// Checking the user's response and providing appropriate output
if (doTheyLikeCheese == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
}
else
{
Console.WriteLine("Here is a lump of coal.");
}
// Checking the user's response and providing appropriate output
if (doTheyLikeCheese == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
}
else
{
Console.WriteLine("Here is a lump of coal.");
}
Si l'utilisateur a dit "oui", le code à l'intérieur de l'instruction if affichera un message proposant un morceau de fromage. Si l'utilisateur répond autrement que par "oui", le bloc else affichera "Here is a lump of coal" (voici un morceau de charbon)
Sensibilité à la casse
Avec une simple instruction if-else, un problème courant peut survenir : la sensibilité à la casse. Si l'utilisateur tape "Yes" au lieu de "yes", le programme ne le reconnaît pas comme une entrée valide. Pour résoudre cela, Layla utilise la méthode ToLower(), qui convertit automatiquement la saisie de l'utilisateur en minuscules et évite le problème de sensibilité à la casse.
// Using ToLower() to handle case sensitivity in user input
if (doTheyLikeCheese.ToLower() == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
}
else
{
Console.WriteLine("Here is a lump of coal.");
}
// Using ToLower() to handle case sensitivity in user input
if (doTheyLikeCheese.ToLower() == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
}
else
{
Console.WriteLine("Here is a lump of coal.");
}
Gestion des conditions multiples
Layla explique ensuite comment traiter plus de deux réponses possibles à l'aide de l'instruction else-if. Ici, le programme vérifie la présence de plusieurs déclarations conditionnelles - si l'utilisateur répond par "oui", "non" ou autre chose.
// Checking multiple conditions using else-if
if (doTheyLikeCheese.ToLower() == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
}
else if (doTheyLikeCheese.ToLower() == "no")
{
Console.WriteLine("Here is a lump of coal.");
}
else
{
Console.WriteLine("Please give a yes or no answer.");
}
// Checking multiple conditions using else-if
if (doTheyLikeCheese.ToLower() == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
}
else if (doTheyLikeCheese.ToLower() == "no")
{
Console.WriteLine("Here is a lump of coal.");
}
else
{
Console.WriteLine("Please give a yes or no answer.");
}
Comme précédemment, si l'expression booléenne dans l'instruction if est vraie, le programme offre un morceau de fromage si l'utilisateur dit "oui". Cependant, au lieu d'offrir un morceau de charbon à toute autre réponse, dans l'énoncé else-if, elle ne le fait plus que lorsque l'utilisateur répond par "non". Si l'utilisateur répond autrement que par "oui" ou "non", l'autre partie du programme lui demandera de répondre par oui ou par non. Voyons le résultat du code ci-dessus en action : (L'image peut être améliorée)

Utilisation des boucles
Pour s'assurer que l'utilisateur fournit une réponse valide, des boucles sont introduites. Une boucle peut demander à plusieurs reprises à l'utilisateur d'entrer des données jusqu'à ce qu'il fournisse une réponse correcte. C'est ce qu'on appelle une boucle "while", et l'exemple suivant montre comment elle fonctionne :
// Using a while loop to repeatedly ask for valid input
bool hasAnswered = false;
while (!hasAnswered)
{
// Checking the user's response and setting hasAnswered to true for valid responses
if (doTheyLikeCheese.ToLower() == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
hasAnswered = true;
}
else if (doTheyLikeCheese.ToLower() == "no")
{
Console.WriteLine("Here is a lump of coal.");
hasAnswered = true;
}
else
{
Console.WriteLine("Please give a yes or no answer.");
doTheyLikeCheese = Console.ReadLine();
}
}
// Using a while loop to repeatedly ask for valid input
bool hasAnswered = false;
while (!hasAnswered)
{
// Checking the user's response and setting hasAnswered to true for valid responses
if (doTheyLikeCheese.ToLower() == "yes")
{
Console.WriteLine("Here is a lump of cheese.");
hasAnswered = true;
}
else if (doTheyLikeCheese.ToLower() == "no")
{
Console.WriteLine("Here is a lump of coal.");
hasAnswered = true;
}
else
{
Console.WriteLine("Please give a yes or no answer.");
doTheyLikeCheese = Console.ReadLine();
}
}
Dans l'exemple ci-dessus, la boucle continue d'interroger l'utilisateur jusqu'à ce qu'il réponde par "oui" ou "non". Vous pouvez voir la traduction en action lorsque le code s'exécute, à partir de la vidéo de Layla :

Enoncé If-Else - Récapitulation
Pour résumer :
- Une instruction if-else peut prendre des décisions dans votre code
- Vous pouvez gérer plusieurs conditions avec les instructions else-if
- Les boucles garantissent que les utilisateurs répondent correctement
La logique conditionnelle est fondamentale dans le langage de programmation C#, il est donc préférable de pratiquer ces concepts et de commencer à les inclure dans votre code. Et ce n'est que le début. Instruction If, instruction else, échelle else-if, if-else within if-else également appelée if-else imbriquée, instruction switch - la logique conditionnelle peut modifier considérablement votre programme et il y a beaucoup à apprendre.
Conclusion
Et voilà ! Voilà le guide du débutant sur les instructions if-else et les boucles while. Comme mentionné précédemment, ce guide a été inspiré par LaylaCodesIt - consultez sa chaîne pour des démonstrations vidéo de tout ce qui précède et pour plus d'informations sur la programmation C#.
En attendant, consultez nos autres ressources où elle partage nos créateurs, tutoriels et ressources d'apprentissage préférés pour mettre à niveau vos compétences en C#. Bonne programmation !



