V tem članku bomo spoznali ternarni operater C # in kako ga uporabiti za nadzor pretoka programa.
Ternarni operator je nadomestek stavka if … else. Torej, preden nadaljujete v tej vadnici, pojdite skozi izjavo C # if … else (če je niste).
Sintaksa ternarnega operatorja je:
Stanje? Izraz1: Izraz2;
Ternarni operater deluje na naslednji način:
- Če je izraz, ki ga navedel
Condition
jetrue
, rezultatExpression1
se vrne ternarnega operaterja. - Če je
false
,Expression2
se vrne rezultat.
Na primer, lahko nadomestimo naslednjo kodo
if (število% 2 == 0) (isEven = true;) else (isEven = false;)
s
isEven = (število% 2 == 0)? pravilno napačno ;
Zakaj se imenuje ternarni operater?
Ta operater zavzame 3 operande , zato jih imenujemo trojni operater.
Primer 1: Ternarni operater 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); ) ) )
Ko zaženemo program, bo rezultat:
Prav
V zgornjem programu 2
je dodeljena spremenljivki. Nato se s ternarnim operatorjem preveri, ali je število sodo ali ne.
Ker je 2 sodo, se izraz ( number % 2 == 0
) vrne true
. Ternarni operator lahko uporabimo tudi za vrnitev številk, nizov in znakov.
Namesto da vrnemo vrednost v spremenljivko isEven, lahko vrednost, ki jo vrne ternarni operater, neposredno natisnemo kot,
Console.WriteLine ((število% 2 == 0)? True: false);
Kdaj uporabiti ternarni operator?
Ternarni operator lahko uporabite za zamenjavo več vrstic kode z eno vrstico. Vendar je ne smemo pretiravati.
Na primer, lahko zamenjamo naslednjo if … else if kodo
if (a> b) (result = "a je večji od b";) else if (a <b) (result = "b je večji od a";) else (result = "a je enak b";)
z eno vrstico kode
rezultat = a> b? "a je večje od b": a <b? "b je večji od a": "a je enako b";
Kot lahko vidimo, lahko uporaba ternarnega operatorja zmanjša dolžino kode, vendar nam je težko razumeti logiko kode.
Zato je bolje uporabiti samo ternarni operator, da zamenja enostavne stavke if else.