9

簡単な質問:

仮想 Equals() メソッドを使用して 2 つのオブジェクトを比較したい ( ではありません==)。どちらも null にすることができます。

私はこの連祷を繰り返すべきですか:

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 に答える