U ovom ćemo članku naučiti o C # ternarnom operatoru i kako ga koristiti za upravljanje protokom programa.
Ternarni operator zamjena je za if … else izjavu. Dakle, prije nego što krenete dalje u ovom vodiču, prođite kroz C # if … else izjavu (ako niste).
Sintaksa ternarnog operatora je:
Stanje? Izraz1: Izraz2;
Ternarni operator radi na sljedeći način:
- Ako je izraz naveo
Condition
jetrue
, rezultatExpression1
je vratio trostrukom operatera. - Ako jest
false
,Expression2
vraća se rezultat.
Na primjer, možemo zamijeniti sljedeći kod
if (broj% 2 == 0) (isEven = true;) else (isEven = false;)
s
isEven = (broj% 2 == 0)? točno netočno ;
Zašto se naziva trostrukim operatorom?
Ovaj operator uzima 3 operanda , otuda nazvan trokraki operator.
Primjer 1: C # ternarni operater
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); ) ) )
Kada pokrenemo program, izlaz će biti:
Pravi
U gornjem programu 2
dodijeljen je promjenjivom broju. Zatim se pomoću ternarnog operatora provjerava je li broj paran ili nije.
Budući da je 2 paran, izraz ( number % 2 == 0
) se vraća true
. Također možemo koristiti ternarni operator za vraćanje brojeva, nizova i znakova.
Umjesto pohrane povratne vrijednosti u varijablu isEven, možemo izravno ispisati vrijednost koju je vratio ternarni operator kao,
Console.WriteLine ((broj% 2 == 0)? True: false);
Kada koristiti ternarni operator?
Ternarni operator može se koristiti za zamjenu više redaka koda jednim retkom. Međutim, ne bismo ga smjeli pretjerivati.
Na primjer, možemo zamijeniti sljedeće if … else if kod
if (a> b) (result = "a je veće od b";) else if (a <b) (result = "b je veće od a";) else (result = "a je jednako b";)
s jednim retkom koda
rezultat = a> b? "a je veće od b": a <b? "b je veće od a": "a je jednako b";
Kao što vidimo, upotreba ternarnog operatora može smanjiti duljinu koda, ali nam otežava razumijevanje logike koda.
Stoga je bolje koristiti ternarni operator samo za zamjenu jednostavnih if else izraza.