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