13

私の知る限り、C# に直接相当するものはありません。私の現在の考えは、参照の等価性をチェックするカスタム IEqualityComparer で Dictionary を使用することです。

ただし、これではハッシュ化によって得られる利点が失われているようです。すべての異なるオブジェクトから個々のハッシュコードを取得する方法はありますか? それとも、これは不可能なので、他のアプローチを使用する必要がありますか?

4

1 に答える 1

19

RuntimeHelpers.GetHashCode(object)which 呼び出しをobject.GetHashCode()非仮想的に使用できます。これはSystem.identityHashcodeJava と同等です。それがあなたが求めているものだと思います。したがって、IEqualityComparerハッシュとobject.ReferenceEquals平等のためにそれを使用するだけです。

于 2009-05-08T09:24:04.970 に答える