Operatori di confronto (Riferimenti per C#)

Gli operatori di confronto < (minore di), > (maggiore di), <= (minore o uguale a) e >= (maggiore o uguale a), noti anche come operatori relazionali, confrontano gli operandi. Questi operatori sono supportati da tutti i tipi numerici integrali e a virgola mobile.

Nota

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

Il tipo char supporta anche gli operatori di confronto. Nel caso degli operandi char, vengono confrontati i codici di carattere corrispondenti.

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

Gli operatori == e != controllano se i relativi operandi sono uguali oppure no.

Operatore "minore di" <

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

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 true se l'operando di sinistra è maggiore dell'operando di destra, false in caso contrario:

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 di o uguale a <=

L'operatore <= restituisce true se l'operando di sinistra è minore o uguale all'operatore di destra, false in caso contrario:

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 di o uguale a >=

L'operatore >= restituisce true se l'operando di sinistra è maggiore o uguale all'operatore di destra, false in caso contrario:

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

Overload degli operatori

Un tipo definito dall'utente può eseguire l'overload degli operatori <, >, <= e >=.

Se un tipo esegue l'overload di uno degli operatori < o >, deve eseguire l'overload sia di < che di >. Se un tipo esegue l'overload di uno degli operatori <= o >=, deve eseguire l'overload sia di <= che di >=.

Specifiche del linguaggio C#

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

Vedi anche