私の知る限り、C# に直接相当するものはありません。私の現在の考えは、参照の等価性をチェックするカスタム IEqualityComparer で Dictionary を使用することです。
ただし、これではハッシュ化によって得られる利点が失われているようです。すべての異なるオブジェクトから個々のハッシュコードを取得する方法はありますか? それとも、これは不可能なので、他のアプローチを使用する必要がありますか?
私の知る限り、C# に直接相当するものはありません。私の現在の考えは、参照の等価性をチェックするカスタム IEqualityComparer で Dictionary を使用することです。
ただし、これではハッシュ化によって得られる利点が失われているようです。すべての異なるオブジェクトから個々のハッシュコードを取得する方法はありますか? それとも、これは不可能なので、他のアプローチを使用する必要がありますか?
RuntimeHelpers.GetHashCode(object)
which 呼び出しをobject.GetHashCode()
非仮想的に使用できます。これはSystem.identityHashcode
Java と同等です。それがあなたが求めているものだと思います。したがって、IEqualityComparer
ハッシュとobject.ReferenceEquals
平等のためにそれを使用するだけです。