關係運算子
等於
檢查提供的運算元(引數)是否相等
"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.