c# - 比较不同创建的 GUID 时是否有更大的机会发生冲突?

标签 c# guid

如果我创建一个 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/

相关文章:

guid - 使用 36 个字符的字母表 0-9 和 A-Z 将 GUID 转换为较短的字符串

xslt - WiX - 根据环境将编译后的 web.config 复制到网站根目录

delphi - 具有相同 GUID 的两个接口(interface)的相关性交互是什么

c# - DateTime.Now.Tostring() - 奇怪的结果

delphi - 在 Delphi IDE 中生成新的随机 GUID

c# - Linq - 从另一个列表中删除一个匿名列表

c# - 带有Show.Busy()和Show.NotBusy()的Caliburn错误

c# - 我的 GUID 是如何损坏的?

c# - 使用 WebClient 下载时获取原始文件名

c# - RegEx.Replace 失败,替换字符串为 $0.00