以下代码不返回 true
本文关键字:返回 true 代码 | 更新日期: 2023-09-27 18:36:44
我的代码如下
int a = 2;
int b = 2;
object _aobject = a;
object _bobject = b;
Debug.Assert(_aobject == _bobject , "");
为什么它返回假?
这里_aobject == _bobject
检查引用,因此返回 false。
而_aobject.Equals(_bobject )
检查值,它将返回 true
这是因为这两个对象的引用不同。当您使用 ==
比较 Object
类型的 2 个对象时,您正在比较它们的引用。
您需要使用Equals ()
方法来检查对象是否具有相同的值。
请注意,对于类型为 string
的对象,您可以使用这两种类型的比较来获得相同的结果。
试试_aobject。等于(_bobject)检查值,它将返回真
使用 Equals
而不是 ==
。
_aobject.Equals(_bobject)