仅使用标准英文字母和下划线,最多可以使用多少个字符,而不会在哈希表/字典中造成潜在的冲突。
所以字符串就像:
blur
Blur
b
Blur_The_Shades_Slightly_With_A_Tint_Of_Blue
...
无法保证单个字母之间不会发生冲突。
You probably不会,但是使用的算法string.GetHashCode
未指定,并且可能会更改。 (特别是它在 .NET 1.1 和 .NET 2.0 之间发生了变化,这让那些认为它不会改变的人感到恼火。)
请注意,哈希码冲突不会阻止精心设计的哈希表工作 - 您仍然应该能够获得正确的值,只是可能需要使用相等性检查多个键(如果它们具有相同的哈希值)代码。
任何依赖哈希码唯一的字典都缺少有关哈希码的重要信息,IMO:)(除非它在very绝对的具体条件knows它们将是独一无二的,即它使用完美的哈希函数.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)