日期:2014-05-18  浏览次数:20438 次

请问这样的方法生成的ID是绝对唯一的吗?
代码如下:
private string GenerateId()  
{  
long i = 1;  
foreach (byte b in Guid.NewGuid().ToByteArray())  
{  
i *= ((int)b + 1);  
}  
return string.Format("{0:x}", i - DateTime.Now.Ticks);  
}

------解决方案--------------------
不是,世事无绝对...何况GUID 128位都不是绝对唯一,你再换算为只有64位的long...不够一般用途应该够了...
------解决方案--------------------
画蛇添足~~,Guid()创建的时候已经带了当前时间