Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharp Language Specification.doc
Скачиваний:
13
Добавлен:
26.09.2019
Размер:
4.75 Mб
Скачать

7.10Операторы отношения и проверки типа

Операторы ==, !=, <, >, <=, >=, is и as называются операторами отношения и проверки типа.

реляционное_выражение: выражение_сдвига реляционное_выражение < выражение_сдвига реляционное_выражение > выражение_сдвига реляционное_выражение <= выражение_сдвига реляционное_выражение >= выражение_сдвига реляционное_выражение is тип реляционное_выражение as тип

выражение_равенства: реляционное_выражение выражение_равенства == реляционное_выражение выражение_равенства != реляционное_выражение

Оператор is описывается в разделе §7.10.10, а оператор as — в разделе §7.10.11.

Операторы ==, !=, <, >, <= и >= являются операторами сравнения.

Если операнд оператора сравнения имеет динамический тип во время компиляции, то он динамически связан (§7.2.2). В этом случае тип времени компиляции выражения динамический, а разрешение, приведенное ниже, будет иметь место во время выполнения при использовании типа времени выполнения тех операндов, которые имеют динамический тип во время компиляции.

Для операции вида x op y, где op является оператором сравнения, чтобы выбрать конкретную реализацию оператора, применяется разрешение перегрузки (§7.3.4). Операнды преобразуются в типы параметров выбранного оператора, а тип результата является типом возвращаемого значения этого оператора.

Стандартные операторы сравнения описываются в следующих разделах. Все стандартные операторы сравнения возвращают результат с типом bool, как показано в следующей таблице.

Операция

Результат

x == y

true, если x равно y, в противном случае false

x != y

true, если x не равно y, в противном случае false

x < y

true, если x меньше y, в противном случае false

x > y

true, если x больше y, в противном случае false

x <= y

true, если x меньше или равно y, в противном случае false

x >= y

true, если x больше или равно y, в противном случае false

7.10.1Операторы сравнения целых чисел

К стандартным операторам сравнения целых чисел относятся:

bool operator ==(int x, int y); bool operator ==(uint x, uint y); bool operator ==(long x, long y); bool operator ==(ulong x, ulong y);

bool operator !=(int x, int y); bool operator !=(uint x, uint y); bool operator !=(long x, long y); bool operator !=(ulong x, ulong y);

bool operator <(int x, int y); bool operator <(uint x, uint y); bool operator <(long x, long y); bool operator <(ulong x, ulong y);

bool operator >(int x, int y); bool operator >(uint x, uint y); bool operator >(long x, long y); bool operator >(ulong x, ulong y);

bool operator <=(int x, int y); bool operator <=(uint x, uint y); bool operator <=(long x, long y); bool operator <=(ulong x, ulong y);

bool operator >=(int x, int y); bool operator >=(uint x, uint y); bool operator >=(long x, long y); bool operator >=(ulong x, ulong y);

Каждый из этих операторов сравнивает числовые значения двух целых операндов и возвращает значение bool, которое указывает, является ли соответствующее отношение истинным или ложным.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]