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í
Condition
istrue
, výsledekExpression1
je vrácen ternárním operátorem. - Pokud ano
false
,Expression2
vrá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 2
je 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 == 0
vrá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.