0
我想使用HashSet<>
來存儲大量(50-100)某個自定義類,我們稱之爲「海報」。據我所知,使用HashSet<>
對List<>
以上的大量項目有一些性能優勢。但爲了利用這種性能增益,我是否需要定義這兩者?HashSet中的自定義類<>
public bool Equals(Poster a, Poster b)
public int GetHashCode(Poster obj)
更新:對於任何人只要看到如何實現這些,這是多麼我已經做到了:
public bool Equals(PosterImage a, PosterImage b)
{
return (a.ApiId == b.ApiId);
}
public int GetHashCode(PosterImage obj)
{
return ((PosterImage) obj).ApiId.GetHashCode();
}
的[如何HashSet的比較平等要素]可能重複(http://stackoverflow.com/questions/8952003/how-does-hashset-compare-elements- for-equality) – BartoszKP 2014-11-03 17:46:51
你希望得到什麼樣的性能好處?檢查哈希集中項目的存在速度比列表快很多,但對於其他任何情況,它都會稍微慢一些。 – Guffa 2014-11-03 17:51:00
這會在很多地方使用,我希望從數據層返回HashSet以供其他許多方法使用,只是平均尋找最有效的方法。 –
IKnowledge
2014-11-03 17:53:47