Opérateur ternaire C # (? :) (avec exemple)

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 Conditionest true, le résultat de Expression1est renvoyé par l'opérateur ternaire.
  • Si tel est le cas false, le résultat de Expression2est 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, 2est 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.

Articles intéressants...