请问这样的方法生成的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()创建的时候已经带了当前时间