一个简单的问题:
我想使用虚拟 Equals() 方法(不是==
)比较两个对象。两者都可以为空。
我应该重复这个连串:
if ((left == null && right == null) || (left != null && left.Equals(right)) {
}
或者这种情况有更优雅的成语吗?
是的:
if (object.Equals(left, right))
甚至没有明显地表明它正在调用静态方法:
if (Equals(left, right))
(我个人更喜欢额外的清晰度。)
静态object.Equals
方法没有非常好的文档,但它完全符合您的要求:)