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#.