Udostępnij przez


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. Wszystkie typy liczb całkowitych i zmiennoprzecinkowych obsługują te operatory.

Dokumentacja języka C# zawiera ostatnio wydaną wersję języka C#. Zawiera również początkową dokumentację dla funkcjonalności w publicznych wersjach testowych nadchodzącego wydania języka.

Dokumentacja identyfikuje dowolną funkcję po raz pierwszy wprowadzoną w ostatnich trzech wersjach języka lub w bieżącej publicznej wersji zapoznawczej.

Wskazówka

Aby dowiedzieć się, kiedy funkcja została po raz pierwszy wprowadzona w języku C#, zapoznaj się z artykułem dotyczącym historii wersji języka C#.

Uwaga / Notatka

==W przypadku operatorów , , <>, <=i >= , jeśli którykolwiek z operandów nie jest liczbą (Double.NaN lub Single.NaN), wynikiem operacji jest false. To zachowanie oznacza, że NaN wartość nie jest 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 używania 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, true jeśli jego operand po lewej stronie jest mniejszy lub równy operandowi po prawej stronie. W przeciwnym razie zwraca wartość 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

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

Operator >= zwraca wartość true , jeśli operand po lewej stronie jest większy lub równy operandowi po prawej stronie. W przeciwnym razie zwraca wartość 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

Przeciążenie operatora

Operatory , >, <=i >= można przeciążyć<w typie zdefiniowanym przez użytkownika.

Jeśli przeciążysz jeden z operatorów < lub > , musisz przeciążyć elementy i <>. Jeśli przeciążysz jeden z operatorów <= lub >= , musisz przeciążyć elementy i <=>=.

Specyfikacja języka C#

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

Zobacz także