2011-07-11 23 views
0

我想裝入一組對象,特別是帶有x和y值的點類型,以便可以計算點集中存在的每個x,y對的點數。 x和y的最大值是[-1000,1000],因此很容易爲每個可能的點生成唯一的哈希碼。用於裝箱的C#GetHashCode

對於實際的裝箱過程,可以使用字典來完成。當我向字典中添加/查找點時,GetHashCode是否會用於此目的?

有沒有更好的方法來分箱?

+0

沒問題。重寫GetHashCode()返回x + 1000 * y並使用'字典' –

回答

2

是,除非你傳遞一個自定義實例提供的散列碼,當你構建Dictionary實例檢查平等,將用於GetHashCodeEquals你的類型的方法。

爲了提供您的自定義哈希機制,您可以簡單地覆蓋GetHashCodeEquals

+0

謝謝,這工作!這樣簡單的事情可以超級有用! – user623879