In dit artikel zullen we leren over de C # ternaire operator en hoe deze te gebruiken om de programmastroom te besturen.
Ternaire operator is een vervanging voor de instructie if… else. Dus voordat u verder gaat in deze tutorial, moet u de C # if… else-instructie doorlopen (als u dat nog niet hebt gedaan).
De syntaxis van ternaire operator is:
Conditie? Expression1: Expression2;
De ternaire operator werkt als volgt:
- Als de uitdrukking aangegeven door
Condition
istrue
, wordt het resultaat vanExpression1
geretourneerd door de ternaire operator. - Als dit het geval is
false
, wordt het resultaat vanExpression2
geretourneerd.
We kunnen bijvoorbeeld de volgende code vervangen
if (nummer% 2 == 0) (isEven = true;) else (isEven = false;)
met
isEven = (nummer% 2 == 0)? waar onwaar ;
Waarom wordt het ternaire operator genoemd?
Deze operator heeft 3 operand , vandaar de ternaire operator.
Voorbeeld 1: C # Ternaire operator
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); ) ) )
Wanneer we het programma uitvoeren, is de uitvoer:
Klopt
In het bovenstaande programma 2
wordt toegewezen aan een variabel nummer. Vervolgens wordt de ternaire operator gebruikt om te controleren of het aantal even is of niet.
Omdat 2 even is, number % 2 == 0
retourneert de uitdrukking ( ) true
. We kunnen ook een ternaire operator gebruiken om getallen, tekenreeksen en tekens te retourneren.
In plaats van de geretourneerde waarde op te slaan in variabele isEven, kunnen we de waarde die wordt geretourneerd door de ternaire operator direct afdrukken als,
Console.WriteLine ((nummer% 2 == 0)? True: false);
Wanneer ternaire operator gebruiken?
Ternaire operator kan worden gebruikt om meerdere regels code te vervangen door een enkele regel. We moeten het echter niet te veel gebruiken.
We kunnen bijvoorbeeld het volgende vervangen if … else if code
if (a> b) (resultaat = "a is groter dan b";) else if (a <b) (resultaat = "b is groter dan a";) else (resultaat = "a is gelijk aan b";)
met een enkele regel code
resultaat = a> b? "a is groter dan b": a <b? "b is groter dan a": "a is gelijk aan b";
Zoals we kunnen zien, kan het gebruik van de ternaire operator de lengte van de code verkorten, maar het maakt ons moeilijk om de logica van de code te begrijpen.
Daarom is het beter om alleen ternaire operator te gebruiken om eenvoudige if else-instructies te vervangen.