c# - 相同的 GUID 可以产生不同的哈希码吗?

标签 c# .net guid hashcode .net-4.6.2

<分区>

给定相同的 GUID Object.GetHashCode 生成不同的哈希码,但 Object.Equals 显示相同的 GUID 等于。

整个GUID:

enter image description here

不同的哈希码:

enter image description here

等于 == true:

enter image description here

显然,两者都是 System.Guid:

enter image description here

即使是相同的 GUID,它们也是不同的值,因为它们是从两个来源反序列化的。

这是预期的行为吗?

最佳答案

您的测试不正确。在比较 .GetType().FullName 的最后部分,您查看的是 .Id,但不是你在上面比较的是什么。

所以:问题在于具有 .Id 的任何类型,tagsexistingTags 中的东西。查看 EqualsGetHashCode

关于c# - 相同的 GUID 可以产生不同的哈希码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44950756/

相关文章:

javascript - 在 DDL 中查找 optgroup 的值

c# - 重构 If 语句

.net - 您如何在托管 C++ 中处理 IDisposable?

c# - 关闭 C#/C++ DLLImport 或至少释放其堆内存?

guid - 对于给定的 GUID 和给定的机器 : can i determine if the guid was made on the machine?

c# - 为什么我不能在 lambda 表达式中使用 null 传播运算符?

C#VSTO : visual studio loads the workbook but not the worksheet

c# - ASP.Net:写文件 block ..HTTP文件上传简历

visual-studio - Visual Studio 解决方案文件中的项目 GUID 有何用途?

mysql - 在连接的 SQL 查询中编辑列