object a = (decimal)99;
object b = (decimal)99;
if (a.Equals(b))//equal结果是true,==结果是false
{
Response.Write("OK");
}请大侠指点,哪些情况不能用==呢?(恕我不会用搜索引擎搜索"=="这样的关键字)
object b = (decimal)99;
if (a.Equals(b))//equal结果是true,==结果是false
{
Response.Write("OK");
}请大侠指点,哪些情况不能用==呢?(恕我不会用搜索引擎搜索"=="这样的关键字)
==是运算符重载,有变量类型决定,你的例子,变量类型是object. ==在object中是比较引用,a,b执行不同对象,因此引用不同,返回false.
== 返回 true。对于 string 类型,== 比较字符串的值。
==操作比较的是两个变量的值是否相等。
equals()方法比较的是两个对象的内容是否一致.equals也就是比较引用类型是否是对同一个对象的引用
2、== 也可以比较值的大小,但如果是对象就判断是否是同一个引用,很显然你上面不是同一个对象,因此为false。
而equal 仅仅是对对象的值的比较 int x = 10 long y = 10L double z = 10.0放在equal两边都是(true)