English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Operatore ternario di C#

C# include un operatore di decisione ? :è noto come operatore condizionale o operatore ternario. È un abbreviazione delle condizioni if-else.

Sintassi:

condition ? statement 1 : statement 2

L'operatore ternario inizia da una condizione booleana. Se il valore di condition è true, esegue la prima istruzione dopo il ?, altrimenti esegue la seconda istruzione dopo il :.

Esempio: operatore ternario

int x = 20, y = 10;
var result = x > y ? "x è maggiore di y" : "x è minore di y";
Console.WriteLine(result);
Output:
x è maggiore di y

L'espressione condizionale x > y restituisce true, quindi verrà eseguita la prima istruzione dopo il ?.

L'istruzione esegue la seconda istruzione.

int x = 10, y = 100;
var result = x > y ? "x è maggiore di y" : "x è minore di y";
Console.WriteLine(result);
Output:
x è minore di y

Quindi, l'operatore ternario è un abbreviazione degli istruzioni if-else. L'esempio sopra può essere riscritto utilizzando condizioni if-else, come segue.

int x = 10, y = 100;
if (x > y){
    Console.WriteLine("x è maggiore di y");
} else {
    Console.WriteLine("x è minore di y");
}
Output:
x è maggiore di y

Operatore ternario

Il operatore ternario è implementato attraverso l'uso dell'espressione condizionale come seconda istruzione.

int x = 10, y = 100;
string result = x > y ? "x大于y" : 
                    x < y ? "x minore di y" : 
                        x == y ? "x uguale a y" : "Nessun risultato";
Console.WriteLine(result);

L'operatore ternario è destra associativo. Il risultato della calcolazione dell'espressione a ? b : c ? d : e è a ? b : (c ? d : e), non (a ? b : c) ? d : e.

var x = 2, y = 10;
var result = x * 3 > y ? x : y > z ? y : z;
Console.WriteLine(result);