c# 生成一个整型的随机数,要求不重复的,该怎么处理

c# 生成一个整型的随机数,要求不重复的
Guid.NewGuid().GetHashCode());
请问咦这种方式生成的随机数,会有重复的吗???急。
另外有什么好的办法?
------解决方案--------------------
Guid不会重复
GetHashCode对于不同的Guid进行散列计算,理论上也不会重复
------解决方案--------------------
会的,只有当生成随机数的线程不关闭的情况下,重复可能性才小(与随机数算法有关),如不在一个线程中,重复一般是千分之几,很高。
------解决方案--------------------
你怕Hash重复,不行改MD5呗,那个够长,重复率也很低
32位16进制数
------解决方案--------------------
还是用时间戳吧,不会重复。
用GUID,虽然重复的概率很小,但还是有可能重复,如果你做数据库主键什么的,就会出错。
当然,要看你的设计和具体用途。

------解决方案--------------------
当然会,GetHashCode返回一个32bit的int,那么最理想的情况,如果连续产生2^32+1次,就100%会重复了。
GUID也会,但是GUID是一个128位的数,因此它能表示的范围是2^128,相同条件下,它重复的概率是int的1/(2^96),因此完全可以视为不会重复。