用于分箱的C#GetHashCode

时间:2011-07-11 01:16:34

标签: c# binning

我想要一组对象,特别是具有x和y值的Point类型,以便我可以计算Point集合中存在的每个x,y对的点数。 x和y的最大值是[-1000,1000],因此很容易为每个可能的点生成唯一的哈希码。

对于实际的分箱过程,可以使用Dictionary完成。当我向字典添加/查找Point时,GetHashCode是否会用于此?

有没有更好的方法进行分箱?

1 个答案:

答案 0 :(得分:2)

是的,除非您在构造Dictionary实例时传递自定义实例以提供哈希码并检查相等性,否则将使用您的类型的GetHashCodeEquals方法。

要提供自定义哈希机制,您只需覆盖GetHashCodeEquals