复制 : What is the best algorithm for an overridden System.Object.GetHashCode?
如果您编写了一个包含各种数据成员的对象,那么如何智能地实现GetHashCode()?
一位开发人员告诉我,他只是对相关数据字段的散列进行XOR(^operator),但我不相信这是一个“最佳实践”实现。
您将如何编写这些函数?
(Member1.ToString() + "|" + Member2.ToString()).GetHasCode();
在我的例子中,我知道我永远不会在成员中使用管道,所以我知道结果会非常好。
实际上,在我的例子中,我实现ToString是为了调试,所以我只使用了:
this.ToString().GetHashCode();
Xors是我经常看到的另一种方法。