Condividi tramite


Operatori di confronto (riferimenti per C#)

Confronto < (minore di), > (maggiore di), <= (minore o uguale) e >= (maggiore o uguale), noto anche come operatore relazionale, confronta i relativi operandi. Tutti i tipi numerici integrali e a virgola mobile supportano tali operatori.

Il riferimento al linguaggio C# documenta la versione rilasciata più di recente del linguaggio C#. Contiene anche la documentazione iniziale per le funzionalità nelle versioni di anteprima pubblica per la prossima versione del linguaggio di programmazione.

La documentazione identifica tutte le funzionalità introdotte nelle ultime tre versioni della lingua o nelle anteprime pubbliche correnti.

Suggerimento

Per trovare quando una funzionalità è stata introdotta per la prima volta in C#, vedere l'articolo sulla cronologia delle versioni del linguaggio C#.

Annotazioni

Per gli ==operatori , ><, <=, e >= , se uno degli operandi non è un numero (Double.NaN o Single.NaN), il risultato dell'operazione è false. Questo comportamento significa che il NaN valore non è maggiore, minore di, né uguale a qualsiasi altro double valore (o float), incluso NaN. Per altre informazioni ed esempi, vedere l'articolo Double.NaN di riferimento o Single.NaN .

Il tipo char supporta anche gli operatori di confronto. Quando si usano char operandi, vengono confrontati i codici di carattere corrispondenti.

I tipi di enumerazione supportano anche gli operatori di confronto. Per gli operandi dello stesso tipo di enumerazione , vengono confrontati i valori corrispondenti del tipo integrale sottostante.

Gli == operatori e != controllano se gli operandi sono uguali o meno.

Operatore minore di <

L'operatore restituisce se l'operando < sinistro è minore dell'operando di destra, true in caso contrario:false

Console.WriteLine(7.0 < 5.1);   // output: False
Console.WriteLine(5.1 < 5.1);   // output: False
Console.WriteLine(0.0 < 5.1);   // output: True

Console.WriteLine(double.NaN < 5.1);   // output: False
Console.WriteLine(double.NaN >= 5.1);  // output: False

Operatore Maggiore di >

L'operatore restituisce se l'operando > sinistro è maggiore dell'operando di destra, true in caso contrario:false

Console.WriteLine(7.0 > 5.1);   // output: True
Console.WriteLine(5.1 > 5.1);   // output: False
Console.WriteLine(0.0 > 5.1);   // output: False

Console.WriteLine(double.NaN > 5.1);   // output: False
Console.WriteLine(double.NaN <= 5.1);  // output: False

Operatore minore o uguale a <=

L'operatore restituisce true se l'operando <= sinistro è minore o uguale al relativo operando di destra. In caso contrario, restituisce false:

Console.WriteLine(7.0 <= 5.1);   // output: False
Console.WriteLine(5.1 <= 5.1);   // output: True
Console.WriteLine(0.0 <= 5.1);   // output: True

Console.WriteLine(double.NaN > 5.1);   // output: False
Console.WriteLine(double.NaN <= 5.1);  // output: False

Operatore maggiore o uguale a >=

L'operatore restituisce true se l'operando >= sinistro è maggiore o uguale al relativo operando di destra. In caso contrario, restituisce false:

Console.WriteLine(7.0 >= 5.1);   // output: True
Console.WriteLine(5.1 >= 5.1);   // output: True
Console.WriteLine(0.0 >= 5.1);   // output: False

Console.WriteLine(double.NaN < 5.1);   // output: False
Console.WriteLine(double.NaN >= 5.1);  // output: False

Sovraccaricabilità degli operatori

È possibile eseguire l'overload degli <operatori , ><=, e >= in un tipo definito dall'utente.

Se si esegue l'overload di uno degli operatori o , è necessario eseguire l'overload < sia che <>.> Se si esegue l'overload di uno degli operatori o , è necessario eseguire l'overload <= sia che <=>=.>=

Specificazione del linguaggio C#

Per altre informazioni, vedere la sezione Operatori relazionali e di test dei tipi della specifica del linguaggio C#.

Vedere anche