我想要一组对象,特别是具有x和y值的Point类型,以便我可以计算Point集合中存在的每个x,y对的点数。 x和y的最大值是[-1000,1000],因此很容易为每个可能的点生成唯一的哈希码。
对于实际的分箱过程,可以使用Dictionary完成。当我向字典添加/查找Point时,GetHashCode是否会用于此?
有没有更好的方法进行分箱?
答案 0 :(得分:2)
是的,除非您在构造Dictionary
实例时传递自定义实例以提供哈希码并检查相等性,否则将使用您的类型的GetHashCode
和Equals
方法。
要提供自定义哈希机制,您只需覆盖GetHashCode
和Equals
。