Операторы сравнения (справочник по 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#.

См. также