V tomto článku sa dozvieme o ternárnom operátore C # a o tom, ako ho používať na riadenie toku programu.
Ternárne operátory sú náhradou za výraz if … else. Predtým, ako sa v tomto výučbe posuniete ďalej, prečítajte si vyhlásenie C #, ak … iné (ak ste to neurobili).
Syntax ternárneho operátora je:
Stav? Výraz1: Výraz2;
Ternárny operátor funguje nasledovne:
- Ak je výraz uvedený v tvare
Condition
istrue
, výsledokExpression1
je vrátený ternárnym operátorom. - Ak je
false
, výsledokExpression2
sa vráti.
Môžeme napríklad nahradiť nasledujúci kód
if (number% 2 == 0) (isEven = true;) else (isEven = false;)
s
isEven = (počet% 2 == 0)? pravda lož ;
Prečo sa nazýva ternárny operátor?
Tento operátor berie 3 operandy , a preto sa nazýva ternárny operátor.
Príklad 1: Ternárny operátor 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); ) ) )
Keď spustíme program, výstup bude:
Pravdaže
Vo vyššie uvedenom programe 2
je priradené variabilné číslo. Potom sa ternárny operátor použije na kontrolu, či je počet párny alebo nie.
Pretože 2 je párne, number % 2 == 0
vráti sa výraz ( ) true
. Môžeme tiež použiť ternárny operátor na vrátenie čísel, reťazcov a znakov.
Namiesto uloženia návratovej hodnoty do premennej isEven môžeme priamo vytlačiť hodnotu vrátenú ternárnym operátorom ako,
Console.WriteLine ((číslo% 2 == 0)? True: false);
Kedy použiť ternárny operátor?
Ternárny operátor možno použiť na nahradenie viacerých riadkov kódu jedným riadkom. Nemali by sme to však nadmerne používať.
Napríklad môžeme nahradiť nasledujúci if … else if code
if (a> b) (result = "a je väčšie ako b";) else if (a <b) (result = "b je väčšie ako a";) else (result = "a je rovné b";)
jedným riadkom kódu
výsledok = a> b? "a je väčšie ako b": a <b? „b je väčšie ako a“: „a sa rovná b“;
Ako vidíme, použitie ternárneho operátora môže skrátiť dĺžku kódu, ale sťažuje nám pochopenie logiky kódu.
Preto je lepšie používať iba ternárny operátor na nahradenie jednoduchých príkazov if else.