我有一个班级,在三个浮标中占有一席之地。我已重写的Equals像这样:如何为这个类写一个哈希码生成器?
return Math.Abs(this.X - that.X) < TOLERANCE
&& Math.Abs(this.Y - that.Y) < TOLERANCE
&& Math.Abs(this.Z - that.Z) < TOLERANCE;
这一切都非常好,但现在我需要编写这些顶点的GetHashCode的实现,和我被困。简单地将三个值的哈希码和xoring在一起是不够好的,因为两个位置略有不同的对象可能被认为是相同的。
那么,我该如何为这个类建立一个GetHashCode实现,它总是会为上面的方法认为相等的实例返回相同的值?
感谢指出平等不是传递性的人。我应该看到的! – Martin 2010-06-28 00:49:58