1

IEqualityComparer<MyObject>プライオリティ キューが要素を並べ替えることができるようにするために、 forを実装しましMyObjectた (使用はここでは実際にはインポートされませんが、何でも)。したがって、メソッドとメソッド
を実装しました。EqualsGetHashCode

私の質問は次のとおりです。私が行うときMyObject1 == MyObject2、メソッドで私が書いたテストを使用しますEqualsか、それとも古典的な等値テストですか?

4

1 に答える 1

4

これが参照型であると仮定すると==、== 演算子をオーバーロードした場合にのみカスタム操作が実行されます。

public static bool operator ==(MyClass1 x, MyClass1 y)
{
    ...
}

public static bool operator !=(MyClass1 x, MyClass1 y)
{
    ...
}

私が知る限り、 C# コンパイラはEqualsメソッドと演算子の関係を認識していません。==

于 2011-08-05T15:05:21.570 に答える