我有一些具有异构键的类 - int 和 string - 我想通过公共接口使用它们。将 int 转换为 string 非常简单,但显然会导致性能问题。我看到的另一个选项是将它们装箱到“对象”,这似乎也不完美,或者以某种方式从字符串生成唯一整数(以前的“字符串”和“int”之间不会有连接,所以它们只能在“ string” 域),这里的问题是“如何”?
问问题
16694 次
3 回答
17
只需从具有非常低碰撞概率的 astring.GetHashCode()
中返回一个即可。int
string
于 2012-06-05T15:17:35.440 回答
4
Be wary of string.GetHashCode()
.
The .Net documentation states https://msdn.microsoft.com/en-us/library/system.string.gethashcode(v=vs.110).aspx
The hash code itself is not guaranteed to be stable. Hash codes for identical strings states can differ across versions of the.NET Framework and across platforms (such as 32-bit and 64-bit) for a single version of the .NET Framework. In some cases, they can even differ by application domain
于 2017-01-03T15:48:09.007 回答