Operadores de comparação (referência do C#)
Os operadores de comparação <
(menor que), >
(maior que), <=
(menor ou igual) e >=
( maior que ou igual), também conhecida como relacionais, comparam seus operandos. Esses operadores são suportados por todos os tipos numéricos integrais e de ponto flutuante.
Observação
Para os operadores ==
, <
, >
, <=
e >=
, se nenhum dos operandos for um número (Double.NaN ou Single.NaN), o resultado da operação será false
. Isso significa que o valor NaN
não é superior, inferior nem igual a nenhum outro valor double
(ou float
), incluindo NaN
. Para obter mais informações e exemplos, consulte o artigo de referência Double.NaN ou Single.NaN.
O tipo char também dá suporte a operadores de comparação. No caso de operandos char
, os códigos de caractere correspondentes são comparados.
Tipos de enumeração também dão suporte a operadores de comparação. No caso dos operandos do mesmo tipo de enum, os valores correspondentes do tipo integral subjacente são comparados.
Os operadores ==
e !=
verificam se seus operandos são iguais ou não.
Operador menor que <
O operador <
retornará true
se o operando à esquerda for menor do que o operando à direita, caso contrário, 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
Operador maior que >
O operador >
retornará true
se o operando à esquerda for maior do que o operando à direita, caso contrário, 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
Operador menor ou igual a <=
O operador <=
retornará true
se o operando à esquerda for menor ou igual ao operando à direita, caso contrário, 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
Operador maior ou igual >=
O operador >=
retornará true
se o operando à esquerda for maior ou igual ao operando à direita, caso contrário, 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
Capacidade de sobrecarga do operador
Os tipos definidos pelo usuário podem sobrecarregar os operadores <
, >
, <=
e >=
.
Se um tipo sobrecarregar um dos operadores <
ou >
, ele deverá sobrecarregar tanto <
quanto >
. Se um tipo sobrecarregar um dos operadores <=
ou >=
, ele deverá sobrecarregar tanto <=
quanto >=
.
Especificação da linguagem C#
Para obter mais informações, consulte a seção Operadores de teste de tipo e relacional na Especificação da linguagem C#.