字符串转整型
字符串可能是汉字、字母、数字,特殊字符等任意组合,长度也不确定,但是唯一确定的是每个字符串都是唯一的。有什么办法可以将这个字符串转换成唯一的整型Int32。
比如:【你好123-h m】 和【好你123-h m】转换成唯一的整型。
这个是不是可以考虑从每个字符的顺序不一致上来考虑做法?
------解决方案--------------------你自己都不知道怎么个规则,你问谁啊,【你好123-h m】要转1还是2还是3啊
------解决方案--------------------你可以保存入库,自增ID的方式解决
或者不要转换,而是为每个字符串生成一个唯一的数字
private long GenerateIntID()
{
byte[] buffer = Guid.NewGuid().ToByteArray();
return BitConverter.ToInt64(buffer, 0);
}
------解决方案--------------------存入哈希表,字符串作为key,value从0累加
找不到的key,就加入
------解决方案--------------------长度不定,
我一开始想把每个字符都转成byte,然后每个byte转成int
但总怕 int就无能为力了~
如果有一种算法可以把字符串压缩成整形的,那就不错~
一个字符串对应一个int,但要解决可程序停止的时候,记录在那里的问题
Dic<string,int>
------解决方案--------------------用有限集去映射无限集,这本身就无解。