2011-05-01 47 views

回答

8

您可以使用string.GetHashCode來平衡哈希表。這就是它被設計用於的目的,這就是它應該被用來做的一切。

特別是,文檔明確指出,在任何情況下都不應該將哈希碼永久存儲;字符串散列碼算法允許在任何時候改變,事實上過去是這樣做的。

+0

當使用這種方法時,該算法也可能在不同的機器上返回截然不同的結果。 – configurator 2011-05-01 14:48:26

1

從MSDN在Object.GetHashCode Method

的 的GetHashCode方法的默認實現不保證不同 對象 獨特的返回值。此外,.NET Framework不保證 GetHashCode方法的默認實現,並且它的值將返回 不同版本的.NET Framework的相同值。因此,對於散列目的,此方法的默認實現不得使用 作爲唯一對象標識符 。