關係運算子

等於

檢查提供的運算元(引數)是否相等

"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.