我正在考慮爲給定的對象實現我自己的自定義哈希碼......並將其用作我的詞典的key
。由於有可能(有可能)2個對象具有相同的哈希碼,我應該重寫哪些額外的運算符,以及應該重寫的是什麼(概念上)?自定義的GetHashcode實現會導致Dictionary或Hashtable的「桶」問題
myDictionary.Add(myObj.GetHashCode(),myObj);
VS
myDictionary.Add(myObj,myObj);
換句話說,是否一個字典使用以下的組合,以確定唯一性和剷鬥將對象放置在?
哪一個比別人更重要?
- 的hashCode
- 的Equals
- ==
- 的CompareTo()
是的compareTo只需要在SortedDictionary?