我有一個覆蓋GetHashCode()的CustomObject對象。 我有一個HashSet,我可以用兩個具有相同散列碼的不同對象調用add。 這兩個都得到了補充,後來我終於遇到了一些數據庫插入問題(主鍵重複項)...使用hashSet的目的連接到了這些數據庫插入項(避免了關鍵衝突)。爲什麼C#hashSet接受添加具有相同getHashCode()值的兩個對象?
我可能錯過了一些HashSet的屬性?即使我在添加(.Add)之前嘗試檢查(.Contains),我最終會添加hashCode重複項...
如果哈希碰撞足以讓HashSet考慮兩個值重複,那麼這將是非常沒有價值的。預計不同值的相同散列值。 – delnan
那麼,完美的哈希是一個有意義的概念 – Jerome