根据给定的字符串生成唯一的整数

时间:2013-04-15 10:08:39

标签: c# uniqueidentifier

关于这个问题已有很多答案,但我找不到任何看起来像我正在寻找的答案。

我需要从给定的字符串生成唯一的负ID(int)。如果有解码也会很高兴,但不是强制性的。

3 个答案:

答案 0 :(得分:4)

您可以尝试myString.GetHashCode()它不能保证是唯一的,但肯定会为同一个字符串返回相同的密钥。

答案 1 :(得分:4)

显然,没有这样的转换。 int大小限制为32位,而string大小几乎无限制。除非对字符串应用某些限制,否则会发生冲突。

答案 2 :(得分:0)

无法为任意长度字符串生成唯一的int。

int有32位数据,一个100个字符的字符串(假设C#)将有1600位数据,因此你至少会有1600/32次冲突。

[很有趣]

你可以:

string a = "dgfadg";
var bytes = System.Text.Encoding.Unicode.GetBytes(a);
BigInteger integer=  new BigInteger(bytes);

[/很有趣]