English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C# propose de nombreuses instructions de décision qui peuvent aider à contrôler le flux d'un programme C# en fonction de certaines conditions logiques. Ici, vous découvrirez if, else if, else et les instructions if else imbriquées pour contrôler le flux en fonction des conditions.
C# contient plusieurs types d'instructions if :
Instruction if
else-Instruction if
directive else
L'instruction if contient une condition booléenne suivie d'un bloc de code à exécuter en une ligne ou plusieurs lignes. Au moment de l'exécution, si la condition booléenne évalue à true, le bloc de code est exécuté, sinon il ne l'est pas.
if(condition) { //Bloc de code à exécuter lorsque la condition if est vraie }
int i = 10, j = 20; if (i < j) { else if (i > j) } if(i > j) { Console.WriteLine("i est supérieur à j"); }
i est inférieur à j
Dans l'exemple ci-dessus, la condition booléenne i < j de la première instruction if évalue à true, donc le compilateur C# exécutera le bloc de code suivant. La condition i > j de la deuxième instruction if évalue à false, donc le compilateur neexécutera pas son bloc de code.
L'expression conditionnelle doit retourner une valeur booléenne, sinon le compilateur C# donnera une erreur à la compilation.
int i = 10, j = 20; if(i + 1) { Console.WriteLine("i est inférieur à j"); } if(i + j) { Console.WriteLine("i est supérieur à j"); }
Vous pouvez appeler une fonction qui renvoie une valeur booléenne dans une instruction if.
static void Main(string[] args) { int i = 10, j = 20; if(isGreater(i, j)) { Console.WriteLine("i est inférieur à j"); } if(isGreater(j, i)) { Console.WriteLine("j est supérieur à i"); } } static bool isGreater(int i, int j) { return i > j; }
plusieurs directives else if peuvent être utilisées après une instruction if. Elle ne s'exécute que lorsque le résultat de calcul de la condition if est faux. Par conséquent, l'une des instructions if ou else if peut être exécutée, mais pas les deux en même temps.
if(condition1) { //si condition1le bloc de code à exécuter lorsque l'évaluation est vrai } else if(condition2) { // le bloc de code exécuté à quel moment // condition1est calculé comme flase // condition2est calculé comme vrai } else if(condition3) { // le bloc de code exécuté à quel moment // condition1est calculé comme flase // condition2est calculé comme faux // condition3est calculé comme vrai }
L'exemple suivant montre la directive else if.
int i = 10, j = 20; if(i == j) { Console.WriteLine("i est égal à j"); } else if(i > j) { Console.WriteLine("i est supérieur à j"); } else if(i < j) { else if (i > j) }
i est inférieur à j
La directive else ne peut apparaître qu'après une instruction if ou else if, et ne peut apparaître qu'après une instruction if-La directive else ne peut être utilisée qu'une seule fois dans la directive else. La directive else ne peut contenir aucune condition et sera exécutée lorsque tous les résultats de calcul des conditions if et else if précédents sont faux.
int i = 20, j = 20; if(i > j) { Console.WriteLine("i est supérieur à j"); } else if(i < j) { Console.WriteLine("i est inférieur à j"); } else { Console.WriteLine("i est égal à j"); }
i est égal à j
C supporte un autre if-l'instruction if dans la directive else-la directive else. Cela s'appelle un if imbriqué-la directive else. Les instructions if imbriquées rendent le code plus lisible.
if(condition1) { if(condition2) { // le bloc de code exécuté à quel moment // condition1et condition2est calculé comme vrai } else if(condition3) { if(condition4) { // le bloc de code exécuté à quel moment // seulement si condition1et condition3et condition4le résultat du calcul est vrai } else if(condition5) { // le bloc de code exécuté à quel moment // seulement si condition1et condition3et condition5le résultat du calcul est vrai } else { // le bloc de code exécuté à quel moment // condition1et condition3est évalué à vrai // condition4et condition5le résultat du calcul est faux } } }
L'exemple suivant montre les instructions if else imbriquées.
int i = 10, j = 20; if (i != j) { { else if (i > j) } { Console.WriteLine("i est supérieur à j"); } } Console.WriteLine("i est égal à j"); }
i est inférieur à j
Utilisez l'opérateur ternaire ? : pour remplacer les instructions if else simples.