参照されているオブジェクトが変更されない限り、同じ値が返されます。実装では、例外をスローすることはできません。常に値を返す必要があります。ArgumentNullException.Equals(Object)をオーバーライドするときは、次のガイドラインに従ってください。Equals(Object)をオーバーライドする必要があります。オーバーライドする型は、GetHashCodeもオーバーライドする必要があります。それ以外の場合、ハッシュテーブルが正しく機能しない可能性があります。インターフェイスを実装することを検討してください。実装は、Equalsと一貫性のある結果を返す必要があります。メソッドもオーバーライドして、等値演算子と同じ結果を返す必要があります。アプリケーションコードで等値演算子が使用される方法と一貫性のある方法で動作するようになります。オーバーライドするには、次のガイドラインが適用されます。オーバーライドすることを検討してください。value(s).Equalsをオーバーライドする場合でも、ほとんどの参照型で等値演算子をオーバーロードすることはできません。複素数型などの値のセマンティクスを持つ参照型を実装する場合は、等値演算子をオーバーライドする必要があります。オーバーライドしないでください。メソッドもオーバーライドする必要があるためです。これは、変更可能な参照型のインスタンスのハッシュコードがその有効期間中に変更される可能性があることを意味します。そのため、ハッシュテーブル内のオブジェクトが失われる可能性があります。オーバーライドする場合に適用されます。type:値が参照型である1つ以上のフィールドを含む値型を定義する場合は、Equals(Object)をオーバーライドする必要があります。実装では、フィールドがすべて値型である値型のバイト単位の比較が実行されますが、リフレクションを使用して、フィールドに参照型が含まれる値型のフィールドごとの比較が実行されます。オーバーライドし、開発言語で演算子のオーバーロードがサポートされている場合は、等値演算子をオーバーロードする必要があります。インターフェイスを実装する必要があります。引数のボックス化が回避されます。Object)指定されたインスタンスが等しいかどうかを判断します。BooleanパラメーターobjAObject比較する最初のオブジェクト。