9

一个简单的问题:

我想使用虚拟 Equals() 方法(不是==)比较两个对象。两者都可以为空。

我应该重复这个连串:

if ((left == null && right == null) || (left != null && left.Equals(right)) {

}

或者这种情况有更优雅的成语吗?

4

1 回答 1

22

是的:

if (object.Equals(left, right))

甚至没有明显地表明它正在调用静态方法:

if (Equals(left, right))

(我个人更喜欢额外的清晰度。)

静态object.Equals方法没有非常好的文档,但它完全符合您的要求:)

于 2012-04-25T19:51:18.797 回答