English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C# contient un opérateur de décision ? :dénommé opérateur conditionnel ou opérateur ternaire. Il est if-Abréviation de la condition else.
Syntaxe :
condition ? instruction 1 : instruction 2
L'opérateur ternaire commence par une condition booléenne. Si la valeur de condition est true, il exécute l'instruction après ?. 1 L'instruction, sinon exécute la deuxième instruction après :.
L'exemple suivant montre l'opérateur ternaire.
int x = 20, y = 10; var result = x > y ? "x est supérieur à y" : "x est inférieur à y"; Console.WriteLine(result);
x est supérieur à y
L'expression conditionnelle x > y renvoie true, donc l'instruction après ? sera exécutée.
L'instruction suivante exécute la deuxième instruction.
int x = 10, y = 100; var result = x > y ? "x est supérieur à y" : "x est inférieur à y"; Console.WriteLine(result);
x est inférieur à y
Par conséquent, l'opérateur ternaire est une abréviation de l'instruction if else. L'exemple ci-dessus peut être réécrit avec une condition if else, comme suit.
int x = 10, y = 100; if (x > y) { Console.WriteLine("x est supérieur à y"); } Console.WriteLine("x est inférieur à y"); }
x est supérieur à y
L'opérateur ternaire imbriqué est réalisé en utilisant l'expression conditionnelle comme deuxième instruction.
int x = 10, y = 100; string result = x > y ? "x est supérieur à y" : ; x < y ? "x est plus petit que y" : x == y ? "x égale à y" : "Pas de résultat"; Console.WriteLine(result);
L'opérateur ternaire est associatif à droite. Le résultat de l'expression a ? b : c ? d : e est a ? b : (c ? d : e), pas (a ? b : c) ? d : e.
var x = 2, y = 10; var result = x * 3 > y ? x : y > z ? y : z; Console.WriteLine(result);