W tym artykule dowiemy się o operatorze trójskładnikowym C # i jak go używać do kontrolowania przepływu programu.
Operator potrójny zastępuje instrukcję if… else. Więc zanim przejdziesz dalej w tym samouczku, przejdź przez instrukcję C # if… else (jeśli nie masz).
Składnia operatora trójskładnikowego to:
Stan: schorzenie ? Expression1: Expression2;
Operator trójskładnikowy działa w następujący sposób:
- Jeśli wyrażenie określone przez
Condition
jesttrue
, wynikExpression1
jest zwracany przez operator trójskładnikowy. - Jeśli tak
false
,Expression2
zwracany jest wynik .
Na przykład możemy zamienić następujący kod
if (liczba% 2 == 0) (isEven = true;) else (isEven = false;)
z
isEven = (liczba% 2 == 0)? prawda fałsz ;
Dlaczego nazywa się to operatorem trójskładnikowym?
Ten operator przyjmuje 3 operand , stąd nazywany operatorem trójskładnikowym.
Przykład 1: operator trójskładnikowy języka 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); ) ) )
Kiedy uruchomimy program, wynik będzie:
Prawdziwe
W powyższym programie 2
przypisywany jest numer zmiennej. Następnie operator trójargumentowy służy do sprawdzania, czy liczba jest parzysta, czy nie.
Ponieważ 2 jest parzyste, wyrażenie ( number % 2 == 0
) zwraca true
. Możemy również użyć operatora trójargumentowego, aby zwrócić liczby, ciągi znaków i znaki.
Zamiast przechowywać wartość zwracaną w zmiennej isEven, możemy bezpośrednio wydrukować wartość zwróconą przez operator trójargumentowy jako,
Console.WriteLine ((numer% 2 == 0)? True: false);
Kiedy używać operatora trójargumentowego?
Operator trójargumentowy może służyć do zastąpienia wielu wierszy kodu jednym wierszem. Jednak nie powinniśmy go nadużywać.
Na przykład możemy zastąpić następujący kod if… else if code
if (a> b) (wynik = "a jest większe niż b";) else if (a <b) (wynik = "b jest większe niż";) else (wynik = "a jest równe b";)
za pomocą jednej linii kodu
wynik = a> b? „a jest większe niż b”: a <b? „b jest większe niż a”: „a jest równe b”;
Jak widzimy, użycie operatora trójskładnikowego może zmniejszyć długość kodu, ale utrudnia nam zrozumienie logiki kodu.
Dlatego lepiej jest używać tylko operatora trójargumentowego do zastępowania prostych instrukcji if else.