0

我的代码如下

   int a = 2;
   int b = 2;

   object _aobject = a;
   object _bobject = b;

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

为什么它返回 false ?

4

4 回答 4

2

这是因为这两个对象的引用不同。当您使用 比较 2 个类型的对象时Object==您是在比较它们的引用。

您需要使用Equals ()方法来检查对象是否具有相同的值。

请注意,对于类型的对象,string您可以使用两种类型的比较来获得相同的结果。

于 2013-10-24T07:03:55.190 回答
2

此处_aobject == _bobject检查参考,因此返回 false。

_aobject.Equals(_bobject )检查 value ,它将返回 true

于 2013-10-24T07:04:32.833 回答
0

使用Equals而不是==.

_aobject.Equals(_bobject)
于 2013-10-24T07:05:55.593 回答
0

只需尝试 _aobject.Equals(_bobject ) 检查值,它将返回 true

于 2013-10-24T07:07:20.457 回答