Операторы сравнения (справочник по C#)
Операторы сравнения <
(меньше чем), >
(больше чем), <=
(меньше или равно) и >=
(больше или равно) (или реляционные операторы) сравнивают операнды. Эти операторы поддерживаются всеми целочисленными типами и типами с плавающей запятой.
Примечание.
У операторов ==
, <
, >
, <=
и >=
, если какой-то из операндов не является числом (Double.NaN или Single.NaN), результатом операции является false
. Это означает, что значение NaN
не больше, не меньше и не равно любому другому значению double
(или float
), включая NaN
. Дополнительные сведения и примеры см. в справочных статьях по Double.NaN или Single.NaN.
Тип char также поддерживает операторы сравнения. В случае операндов char
сравниваются соответствующие коды символов.
Типы перечисления также поддерживают операторы сравнения. Если операнды имеют одинаковый тип enum, сравниваются соответствующие значения базового целочисленного типа.
Операторы ==
и !=
проверяют равенство или неравенство своих операндов.
Оператор "меньше чем" <
Оператор <
возвращает true
, если его левый операнд меньше правого. В противном случае возвращается 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
Больше оператора >
Оператор >
возвращает true
, если его левый операнд больше правого. В противном случае возвращается 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
Меньше или равно оператор <=
Оператор <=
возвращает true
, если его левый операнд меньше правого или равен ему. В противном случае возвращается 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
Оператор "Больше" или "равно >" =
Оператор >=
возвращает true
, если его левый операнд больше правого или равен ему. В противном случае возвращается 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
Возможность перегрузки оператора
Определяемый пользователем тип может перегружать операторы <
, >
, <=
и >=
.
Если тип перегружает один из операторов <
и >
, он должен также перегружать операторы <
и >
. Если тип перегружает один из операторов <=
и >=
, он должен также перегружать операторы <=
и >=
.
Спецификация языка C#
Дополнительные сведения см. в разделе Операторы отношения и проверки типа в статье по спецификации языка C#.