C # ternární (? :) operátor (s příkladem)

V tomto článku se dozvíme o ternárním operátoru C # a o tom, jak jej použít k řízení toku programu.

Ternární operátory nahrazují příkaz if… else. Než se tedy v tomto tutoriálu posunete dále, projděte si příkaz C # pokud … else (pokud jste to ještě neudělali).

Syntaxe ternárního operátoru je:

Stav? Výraz1: Výraz2;

Ternární operátor funguje následovně:

  • Pokud je výraz uvedený pomocí Conditionis true, výsledek Expression1je vrácen ternárním operátorem.
  • Pokud ano false, Expression2vrátí se výsledek .

Například můžeme nahradit následující kód

 if (number% 2 == 0) (isEven = true;) else (isEven = false;) 

s

isEven = (číslo% 2 == 0)? true: false;

Proč se tomu říká ternární operátor?

Tento operátor má 3 operandy , proto se nazývá ternární operátor.

Příklad 1: C # ternární operátor

 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); ) ) ) 

Když spustíme program, výstup bude:

 Skutečný

Ve výše uvedeném programu 2je přiřazeno proměnné číslo. Poté se ternární operátor použije ke kontrole, zda je číslo sudé nebo ne.

Protože 2 je sudé, number % 2 == 0vrátí se výraz ( ) true. Můžeme také použít ternární operátor k vrácení čísel, řetězců a znaků.

Místo uložení návratové hodnoty do proměnné isEven můžeme přímo vytisknout hodnotu vrácenou ternárním operátorem jako,

 Console.WriteLine ((číslo% 2 == 0)? True: false);

Kdy použít ternární operátor?

Ternární operátor lze použít k nahrazení více řádků kódu jediným řádkem. Neměli bychom to však nadužívat.

Například můžeme nahradit následující if … else if code

 if (a> b) (result = "a je větší než b";) else if (a <b) (result = "b je větší než a";) else (result = "a je rovno b";) 

s jediným řádkem kódu

result = a> b? "a je větší než b": a <b? „b je větší než a“: „a se rovná b“;

Jak vidíme, použití ternárního operátoru může snížit délku kódu, ale ztěžuje nám pochopení logiky kódu.

Proto je lepší použít pouze ternární operátor k nahrazení jednoduchých příkazů if else.

Zajímavé články...