http://msdn.microsoft.com/en-us/library/system.guid.aspx
它是如何工作的?它如何保证唯一ID?是只靠概率还是另有套路?我能否始终相信它会提供唯一 ID,或者在什么情况下我应该避免使用 guid?
最佳答案
这是一个有趣的小程序:
class Program
{
static void Main(string[] args)
{
var guids = new HashSet<string>();
var sw = Stopwatch.StartNew();
while(true)
{
var guid = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 16);
if (guids.Contains(guid)) break;
guids.Add(guid);
}
Console.WriteLine("Duplicate found in {0} ms, after {1} items.", sw.ElapsedMilliseconds, guids.Count);
Console.ReadLine();
}
}
我打赌你会在它找到一个骗局之前耗尽内存;)
编辑:即使只使用半个 Guid。
关于c# - .NET 的 GUID 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4311522/