关系运算符
等于
检查提供的操作数(参数)是否相等
"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.