The ==, !=, <, >, <=, >=, is and as operators are called the relational and
type-testing operators.
relational-expression:
shift-expression
relational-expression < shift-expression
relational-expression > shift-expression
relational-expression <= shift-expression
relational-expression >= shift-expression
relational-expression is type
relational-expression as type
C# LANGUAGE SPECIFICATION
164
equality-expression:
relational-expression
equality-expression == relational-expression
equality-expression != relational-expression
The is operator is described in ?4.9.9 and the as operator is described in
?4.9.10.
The ==, !=, <, >, <= and >= operators are comparison operators. For an
operation of the form x op y,
where op is a comparison operator, overload resolution (?4.2.4) is applied
to select a specific operator
implementation. The operands are converted to the parameter types of the
selected operator, and the type of
the result is the return type of the operator.
The predefined comparison operators are described in the following
sections. All predefined comparison
operators return a result of type bool, as described in the following table.
Operation Result
x == y true if x is equal to y, false otherwise
x != y true if x is not equal to y, false otherwise
x < y true if x is less than y, false otherwise
x > y true if x is greater than y, false otherwise
x <= y true if x is less than or equal to y, false otherwise
x >= y true if x is greater than or equal to y, false otherwise