我的代码如下
int a = 2;
int b = 2;
object _aobject = a;
object _bobject = b;
Debug.Assert(_aobject == _bobject , "");
为什么会返回false ??
答案 0 :(得分:2)
这是因为这两个对象的引用是不同的。使用Object
比较==
类型的2个对象时,您需要比较它们的引用。
您需要使用Equals ()
方法检查对象是否包含相同的值。
请注意,对于string
类型的对象,您可以使用两种类型的比较来获得相同的结果。
答案 1 :(得分:2)
这里_aobject == _bobject
检查参考因此返回false。
_aobject.Equals(_bobject )
检查值,它将返回true
答案 2 :(得分:0)
使用Equals
代替==
。
_aobject.Equals(_bobject)
答案 3 :(得分:0)
只需尝试_aobject.Equals(_bobject)检查值,它将返回true