Operadores de comparación (referencia de C#)Comparison operators (C# reference)

Los operadores de la comparación < (menor que), > (mayor que), <= (menor o igual que) y >= (mayor o igual que), también conocidos como relacionales, comparan sus operandos.The < (less than), > (greater than), <= (less than or equal), and >= (greater than or equal) comparison, also known as relational, operators compare their operands. Estos operadores admiten todos los tipos numéricos integrales y de punto flotante.Those operators support all integral and floating-point numeric types.

Nota

Para los operadores ==, <, >, <= y >=, si cualquier operando no es un número (Double.NaN o Single.NaN), el resultado del operador será false.For the ==, <, >, <=, and >= operators, if any of the operands is not a number (Double.NaN or Single.NaN), the result of operation is false. Esto significa que el valor NaN no es mayor, inferior ni igual que cualquier otro valor double o float, incluido NaN.That means that the NaN value is neither greater than, less than, nor equal to any other double (or float) value, including NaN. Para obtener más información y ejemplos, vea el artículo de referencia Double.NaN o Single.NaN.For more information and examples, see the Double.NaN or Single.NaN reference article.

Los tipos de enumeración también admiten operadores de comparación.Enumeration types also support comparison operators. Para los operandos del mismo tipo enum, se comparan los valores correspondientes del tipo entero subyacente.For operands of the same enum type, the corresponding values of the underlying integral type are compared.

Los operadores == y != comprueban si los operandos son iguales.The == and != operators check if their operands are equal or not.

Operador menor que <Less than operator <

El operador < devuelve true si el operando izquierdo es menor que el derecho; en caso contrario, devuelve false.The < operator returns true if its left-hand operand is less than its right-hand operand, false otherwise:

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 mayor que >Greater than operator >

El operador > devuelve true si el operando izquierdo es mayor que el derecho; en caso contrario, devuelve false.The > operator returns true if its left-hand operand is greater than its right-hand operand, false otherwise:

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 o igual que <=Less than or equal operator <=

El operador <= devuelve true si el operando izquierdo es menor o igual que el derecho; en caso contrario, devuelve false.The <= operator returns true if its left-hand operand is less than or equal to its right-hand operand, false otherwise:

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 mayor o igual que >=Greater than or equal operator >=

El operador >= devuelve true si el operando izquierdo es mayor o igual que el derecho; en caso contrario, devuelve false.The >= operator returns true if its left-hand operand is greater than or equal to its right-hand operand, false otherwise:

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

Posibilidad de sobrecarga del operadorOperator overloadability

Un tipo definido por el usuario puede sobrecargar los operadores <, >, <= y >=.A user-defined type can overload the <, >, <=, and >= operators.

Si un tipo sobrecarga uno de los operadores < o >, también debe sobrecargar < y >.If a type overloads one of the < or > operators, it must overload both < and >. Si un tipo sobrecarga uno de los operadores <= o >=, también debe sobrecargar <= y >=.If a type overloads one of the <= or >= operators, it must overload both <= and >=.

Especificación del lenguaje C#C# language specification

Para obtener más información, vea la sección Operadores de comprobación de tipos y relacionales de la Especificación del lenguaje de C#.For more information, see the Relational and type-testing operators section of the C# language specification.

Vea tambiénSee also