Maîtriser la logique conditionnelle en C# : If, If-Else, If-ElseIf et instructions If imbriquées
Maîtriser la logique conditionnelle en C# : If, If-Else, If-ElseIf et instructions If imbriquées
Dans cet article, nous allons apprendre comment utiliser if, if...else, if...else if en C# pour contrôler le flux d'exécution du programme.
Tester des conditions est une partie fondamentale de tout langage de programmation. En C#, les instructions conditionnelles vous permettent d'évaluer des expressions booléennes et de décider quels blocs de code doivent s'exécuter. Ces conditions sont souvent pilotées par l'entrée utilisateur, l'état du système, l'heure ou d'autres facteurs d'exécution.
Instruction C# if (If-Then)
La forme la plus simple de logique conditionnelle en C# est l'instruction if, qui exécute un bloc de code lorsque son expression booléenne s'évalue à true. La syntaxe est simple :
if (expressionBooléenne) {
// code exécuté lorsque expressionBooléenne est true
}
- L'
expressionBooléennedoit retourner soit true soit false. - Si elle retourne true, les instructions à l'intérieur des accolades s'exécutent.
- Si elle retourne false, ces instructions sont ignorées.
Exemple :
if (number < 5) {
number += 5;
}
Ici, number += 5; s'exécute seulement quand number est inférieur à 5.
Fonctionnement d'une instruction if

Exemple 1 : Instruction if de base
using System;
namespace Conditional {
class IfStatement {
public static void Main(string[] args) {
int number = 2;
if (number < 5) {
Console.WriteLine($"{number} est inférieur à 5");
}
Console.WriteLine("Cette instruction est toujours exécutée.");
}
}
}
Sortie :
2 est inférieur à 5 Cette instruction est toujours exécutée.
Changer number à 10 produit :
Cette instruction est toujours exécutée.
Parce que number < 5 s'évalue à false, le bloc if est ignoré.
Instruction C# if...else (If-Then-Else)
Lorsque vous devez gérer les deux résultats d'un test booléen, ajoutez un bloc else :
if (expressionBooléenne) {
// exécuté quand true
} else {
// exécuté quand false
}
Exemple :
if (number < 5) {
number += 5;
} else {
number -= 5;
}
La première branche s'exécute si number est inférieur à 5 ; sinon, la seconde branche s'exécute.
Fonctionnement d'une instruction if...else

Exemple 2 : Utilisation de if...else
using System;
namespace Conditional {
class IfElseStatement {
public static void Main(string[] args) {
int number = 12;
if (number < 5) {
Console.WriteLine($"{number} est inférieur à 5");
} else {
Console.WriteLine($"{number} est supérieur ou égal à 5");
}
Console.WriteLine("Cette instruction est toujours exécutée.");
}
}
}
Sortie quand number est 12 :
12 est supérieur ou égal à 5 Cette instruction est toujours exécutée.
Avec number défini à 2, la sortie devient :
2 est inférieur à 5 Cette instruction est toujours exécutée.
Pour une alternative concise, l'opérateur ternaire peut remplacer les constructions simples if...else.
Instruction C# if...else if (If-Then-Else If)
Lorsque plusieurs conditions doivent être évaluées, enchaînez des clauses else if après le if initial :
if (condition1) {
// code pour condition1
} else if (condition2) {
// code pour condition2
} else if (condition3) {
// code pour condition3
} else {
// code si toutes les conditions sont fausses
}
La chaîne est évaluée de haut en bas ; l'exécution s'arrête à la première condition true. Si aucune ne correspond, le bloc else s'exécute.
Alternativement, une instruction switch peut gérer des valeurs discrètes plus proprement.
Exemple 3 : Utilisation de if...else if
using System;
namespace Conditional {
class IfElseIfStatement {
public static void Main(string[] args) {
int number = 12;
if (number < 5) {
Console.WriteLine($"{number} est inférieur à 5");
} else if (number > 5) {
Console.WriteLine($"{number} est supérieur à 5");
} else {
Console.WriteLine($"{number} est égal à 5");
}
}
}
}
Sortie pour number = 12 :
12 est supérieur à 5
Changer number à 4 ou 5 ajustera la sortie en conséquence.
Instructions if...else imbriquées
Un if...else imbriqué place un bloc conditionnel à l'intérieur d'un autre, permettant une logique de décision à plusieurs niveaux. Le schéma général est :
if (conditionExterne) {
if (conditionInterne1) {
// code quand externe et interne sont vrais
} else {
// code quand externe est vrai mais interne est faux
}
} else {
if (conditionInterne2) {
// code quand externe est faux mais interne2 est vrai
} else {
// code quand externe et interne2 sont faux
}
}
Les conditions imbriquées sont utiles pour des vérifications étape par étape, comme la validation d'une série d'entrées utilisateur ou le calcul du maximum de plusieurs valeurs.
Exemple 4 : Trouver le plus grand de trois nombres
using System;
namespace Conditional {
class Nested {
public static void Main(string[] args) {
int first = 7, second = -23, third = 13;
if (first > second) {
if (first > third) {
Console.WriteLine($"{first} est le plus grand");
} else {
Console.WriteLine($"{third} est le plus grand");
}
} else {
if (second > third) {
Console.WriteLine($"{second} est le plus grand");
} else {
Console.WriteLine($"{third} est le plus grand");
}
}
}
}
}
L'exécution du programme donne :
13 est le plus grand
Ajustez les valeurs d'entrée pour voir comment la logique s'adapte.
Langue C
- Maîtriser l'instruction Switch C# : Syntaxe, exemples et bonnes pratiques
- Instruction Break C# : Comment et quand l'utiliser
- Maîtriser l'instruction Continue C# : Comment ignorer efficacement les itérations de boucle
- Comprendre les classes imbriquées C# : Définition, utilisation et héritage
- Instructions, indentation et commentaires en Python : Guide clair
- Maîtriser les classes imbriquées et internes en Java : types, exemples et bonnes pratiques
- Maîtriser la syntaxe de base du C : Jetons, structure et points-virgules
- Constantes et littéraux en C : Types, utilisation et bonnes pratiques
- Maîtriser les constantes et littéraux en C# : types, règles et bonnes pratiques