如果我创建一个 GUID使用构造函数(例如,Guid myGuid = new Guid("myguid")
),它是否更有可能与使用 Guid.NewGuid()
创建的 GUID 发生冲突> 对比两个均使用 Guid.NewGuid()
创建的 GUID?
编辑:
更具体的问题:Is there a greater chance to collide when comparing GUIDs based on a hash vs "Guid.NewGuid()?
最佳答案
真正的答案是视情况而定。 Guid.NewGuid根据描述的几个因素创建它 here .如果您从 NewGuid
中获取创建它的字符串表示形式并将其放入构造函数中,那么机会与调用 NewGuid
两次相同。
话虽这么说,但并非所有 GUID 都是一样的。不同的系统有不同的生成方式,并且它们可能不像 .NET 实现那样具有抗冲突性。没有什么可说的,我无法创建一个可以解析为不基于任何规则的 GUID 的字符串。此 GUID 发生冲突的可能性要大得多。
关于c# - 比较不同创建的 GUID 时是否有更大的机会发生冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35661915/