Operadores de comparação (referência C#)
A <
comparação (menor que), >
(maior que),<=
(menor que ou igual) e>=
(maior que ou igual), também conhecida como relacional, os operadores comparam seus operandos. Esses operadores são suportados por todos os tipos numéricos integrais e de vírgula flutuante.
Nota
Para os ==
operadores , <
, >
, <=
, e , se >=
qualquer um dos operandos não for um número (Double.NaN ou Single.NaN), o resultado da operação é false
. Isso significa que o NaN
valor não é maior, menor que, nem igual a qualquer outro double
(ou float
) valor, incluindo NaN
. Para obter mais informações e exemplos, consulte o Double.NaN artigo ou Single.NaN referência.
O tipo char também suporta operadores de comparação. No caso de operandos, os códigos de char
caracteres correspondentes são comparados.
Os tipos de enumeração também suportam operadores de comparação. Para 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.
Menos do que operador <
O <
operador retorna true
se seu operando esquerdo for menor que seu operando direito, false
caso contrário:
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
Maior que operador >
O >
operador retorna true
se o operando esquerdo for maior que o operando direito, false
caso contrário:
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 =
O <=
operador retorna true
se seu operando esquerdo for menor ou igual ao seu operando direito, false
caso contrário:
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 retorna true
se seu operando esquerdo for maior ou igual ao seu operando direito, false
caso contrário:
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
Um tipo definido pelo usuário pode sobrecarregar os <
operadores , >
, <=
e >=
.
Se um tipo sobrecarrega um dos <
operadores ou >
, ele deve sobrecarregar ambos <
e >
. Se um tipo sobrecarrega um dos <=
operadores ou >=
, ele deve sobrecarregar ambos <=
e >=
.
Especificação da linguagem C#
Para obter mais informações, consulte a seção Operadores relacionais e de teste de tipo da especificação da linguagem C#.