关系运算符

等于

检查提供的操作数(参数)是否相等

"a" == "b"     // Returns false.
"a" == "a"     // Returns true.
1 == 0         // Returns false.
1 == 1         // Returns true.
false == true  // Returns false.
false == false // Returns true.

与 Java 不同,等式比较运算符本身与字符串一起使用。

如果从一个到另一个存在隐式转换,则等式比较运算符将使用不同类型的操作数。如果不存在合适的隐式转换,你可以调用显式转换或使用方法转换为兼容类型。

1 == 1.0              // Returns true because there is an implicit cast from int to double.
new Object() == 1.0   // Will not compile.
MyStruct.AsInt() == 1 // Calls AsInt() on MyStruct and compares the resulting int with 1.

与 Visual Basic.NET 不同,等式比较运算符与等式赋值运算符不同。

var x = new Object();
var y = new Object();
x == y // Returns false, the operands (objects in this case) have different references.
x == x // Returns true, both operands have the same reference.

不要与赋值运算符(=)混淆。

对于值类型,如果两个操作数的值相等,则运算符返回 true
对于引用类型,如果两个操作数在引用中相等 (非值) ,则运算符返回 true 。一个例外是字符串对象将与值相等进行比较。

不等于

检查提供的操作数是否相等。

"a" != "b"     // Returns true.
"a" != "a"     // Returns false.
1 != 0         // Returns true.
1 != 1         // Returns false.
false != true  // Returns true.
false != false // Returns false.

var x = new Object();
var y = new Object();
x != y // Returns true, the operands have different references.
x != x // Returns false, both operands have the same reference.

该运算符有效地将相反的结果返回到 equals(==)运算符的结果

比…更棒

检查第一个操作数是否大于第二个操作数。

3 > 5    //Returns false.
1 > 0    //Returns true.
2 > 2    //Return false.

var x = 10;
var y = 15;
x > y    //Returns false.
y > x    //Returns true.

少于

检查第一个操作数是否小于第二个操作数。

2 < 4     //Returns true.
1 < -3    //Returns false.
2 < 2     //Return false.

var x = 12;
var y = 22;
x < y    //Returns true.
y < x    //Returns false.

大于等于

检查第一个操作数是否大于第二个操作数。

7 >= 8    //Returns false.
0 >= 0    //Returns true.

小于等于

检查第一个操作数是否小于第二个操作数。

2 <= 4    //Returns true.
1 <= -3    //Returns false.
1 <= 1     //Returns true.