Operatory porównania (odwołanie w C#)

Porównanie < (mniejsze niż), > (większe niż), <= (mniejsze lub równe) i >= (większe lub równe), znane również jako relacyjne, operatory porównują operandy. Te operatory są obsługiwane przez wszystkie typy liczb całkowitych i zmiennoprzecinkowych .

Uwaga

==W przypadku operatorów , , <>, <=i>=, jeśli którykolwiek z operandów nie jest liczbą (Double.NaN lub Single.NaN), wynikiem operacji jest false. Oznacza to, że NaN wartość nie jest ani większa niż, mniejsza ani równa żadnej innej double wartości (lub float), w tym NaN. Aby uzyskać więcej informacji i przykładów, zobacz Double.NaN artykuł lub reference (Dokumentacja Single.NaN ).

Typ znaku obsługuje również operatory porównania. W przypadku char operandów odpowiednie kody znaków są porównywane.

Typy wyliczenia obsługują również operatory porównania. W przypadku operandów tego samego typu wyliczenia porównywane są odpowiednie wartości bazowego typu całkowitego.

Operatory == i != sprawdzają, czy ich operandy są równe, czy nie.

Operator mniejszy niż <

Operator < zwraca, true jeśli jego operand po lewej stronie jest mniejszy niż operand false prawy, w przeciwnym razie:

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

Operator większe niż >

Operator > zwraca wartość true , jeśli lewy operand jest większy niż operand false prawy, w przeciwnym razie:

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

Operator mniejszy niż lub równy <=

Operator <= zwraca wartość true , jeśli operand po lewej stronie jest mniejszy lub równy operandowi po prawej stronie, false w przeciwnym razie:

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

Operator większe niż lub równe >=

Operator >= zwraca wartość true , jeśli lewy operand jest większy lub równy operandowi po prawej stronie, false w przeciwnym razie:

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

Przeciążenie operatora

Typ zdefiniowany przez użytkownika może przeciążać <operatory , >, <=i >= .

Jeśli typ przeciąża jeden z < operatorów lub > , musi przeciążyć zarówno , jak < i >. Jeśli typ przeciąża jeden z <= operatorów lub >= , musi przeciążyć zarówno , jak <= i >=.

specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz sekcję Operatory relacyjne i testowe typów specyfikacji języka C#.

Zobacz też