我可以使用string.GetHashCode()
函数来可靠地存储词根数据吗?string.GetHashCode()是否足够用于nlp中的单词词典?
2
A
回答
8
您可以使用string.GetHashCode来平衡哈希表。这就是它被设计用于的目的,这就是它应该被用来做的一切。
特别是,文档明确指出,在任何情况下都不应该将哈希码永久存储;字符串散列码算法允许在任何时候改变,事实上过去是这样做的。
1
从MSDN在Object.GetHashCode Method
的 的GetHashCode方法的默认实现不保证不同 对象 独特的返回值。此外,.NET Framework不保证 GetHashCode方法的默认实现,并且它的值将返回 不同版本的.NET Framework的相同值。因此,对于散列目的,此方法的默认实现不得使用 作为唯一对象标识符 。
当使用这种方法时,该算法也可能在不同的机器上返回截然不同的结果。 – configurator 2011-05-01 14:48:26