如果内容相同,.NET Framework中内置的结构总是返回相同的哈希码吗?具体来说,我正在考虑System.Drawing.Color和Size
答案 0 :(得分:1)
是
正确实施GetHashCode
会为被视为相等的项返回相同的值。 .Net中的所有现有结构确实实现了满足该期望的功能。
注释
Int32
和Size
这样的简单类型不太可能,但不应该依赖哈希码。如果您需要一致的价值 - 实施并使用您自己的方法。您可以从Eric Lippert的Guidelines and Rules for GetHashCode获得更详细的讨论。