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

Confira também