質問

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

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

役に立ちましたか?

解決

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top