当两个args都为null时,C#是Equals()的简写

时间:2012-04-25 19:50:10

标签: c# null equals

一个简单的问题:

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

我应该重复一遍这一点:

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

}

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

1 个答案:

答案 0 :(得分:22)

烨:

if (object.Equals(left, right))

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

if (Equals(left, right))

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

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