以下代码不会返回true

时间:2013-10-24 07:02:24

标签: c#

我的代码如下

   int a = 2;
   int b = 2;

   object _aobject = a;
   object _bobject = b;

   Debug.Assert(_aobject == _bobject , "");

为什么会返回false ??

4 个答案:

答案 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