簡體   English   中英

C#等效的Java IdentityHashMap

[英]C# Equivalent of Java IdentityHashMap

據我所知,C#中沒有直接的等價物。 我目前的想法是使用帶有自定義IEqualityComparer的Dictionary,它檢查引用相等性。

但是,這似乎失去了散列所帶來的優勢。 有沒有辦法從每個不同的對象中獲取單個哈希碼? 或者這是不可能的,我應該使用其他方法?

您可以使用非虛擬調用object.GetHashCode() RuntimeHelpers.GetHashCode(object) - 這相當於Java中的System.identityHashcode 我認為這就是你所追求的。 因此,您的IEqualityComparer只會將其用於散列,而object.ReferenceEquals用於相等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM