Dans cet article, nous allons découvrir l'opérateur ternaire C # et comment l'utiliser pour contrôler le flux du programme.
Les opérateurs ternaires sont un substitut à l'instruction if… else. Donc, avant d'aller plus loin dans ce tutoriel, passez par l'instruction C # if… else (si vous ne l'avez pas fait).
La syntaxe de l'opérateur ternaire est:
État ? Expression1: Expression2;
L'opérateur ternaire fonctionne comme suit:
- Si l'expression indiquée par
Condition
esttrue
, le résultat deExpression1
est renvoyé par l'opérateur ternaire. - Si tel est le cas
false
, le résultat deExpression2
est renvoyé.
Par exemple, nous pouvons remplacer le code suivant
if (nombre% 2 == 0) (isEven = true;) else (isEven = false;)
avec
isEven = (nombre% 2 == 0)? vrai faux ;
Pourquoi est-il appelé opérateur ternaire?
Cet opérateur prend 3 opérandes , donc appelé opérateur ternaire.
Exemple 1: opérateur ternaire C #
using System; namespace Conditional ( class Ternary ( public static void Main(string() args) ( int number = 2; bool isEven; isEven = (number % 2 == 0) ? true : false ; Console.WriteLine(isEven); ) ) )
Lorsque nous exécutons le programme, la sortie sera:
Vrai
Dans le programme ci-dessus, 2
est affecté à un numéro de variable. Ensuite, l'opérateur ternaire est utilisé pour vérifier si le nombre est pair ou non.
Puisque 2 est pair, l'expression ( number % 2 == 0
) retourne true
. Nous pouvons également utiliser l'opérateur ternaire pour renvoyer des nombres, des chaînes et des caractères.
Au lieu de stocker la valeur de retour dans la variable isEven, nous pouvons directement imprimer la valeur retournée par l'opérateur ternaire comme,
Console.WriteLine ((nombre% 2 == 0)? True: false);
Quand utiliser l'opérateur ternaire?
L'opérateur ternaire peut être utilisé pour remplacer plusieurs lignes de code par une seule ligne. Cependant, nous ne devons pas en abuser.
Par exemple, nous pouvons remplacer ce qui suit if… else if code
if (a> b) (result = "a est supérieur à b";) else if (a <b) (result = "b est supérieur à a";) else (result = "a est égal à b";)
avec une seule ligne de code
résultat = a> b? "a est supérieur à b": a <b? "b est supérieur à a": "a est égal à b";
Comme nous pouvons le voir, l'utilisation de l'opérateur ternaire peut diminuer la longueur du code mais cela nous rend difficile de comprendre la logique du code.
Par conséquent, il est préférable de n'utiliser qu'un opérateur ternaire pour remplacer de simples instructions if else.