2012-07-31 95 views
0

我有以下要求來開發,並且想知道我可以在.net中使用的最快集合是什麼。快速蒐集.net

「要搜索字符串的靜態集合以查找以給定字符串開頭的所有字符串,字符串可以按順序排列」。

散列表是最好用嗎?這是在c#.net 4.0中完成的。

謝謝

+4

不成熟的優化任何人嗎?使用最方便的方式 - 在性能成爲問題時進行更改,分析將收集類型確定爲罪魁禍首。 – Oded 2012-07-31 13:13:51

+0

@Oded這應該是一個答案。我會贊成它。雖然這個功課很臭。 – Polynomial 2012-07-31 13:14:45

+0

你認爲這份名單有多大?在數百萬?一個列表應該足夠否則:) – davenewza 2012-07-31 13:14:53

回答

3

優化收集類型爲時過早 - 你甚至沒有工作代碼!

使用便捷的集合類型(Dictionary<TKey,TValue>,無論List<Tuple<T1,T2>>或) - 一旦你已經工作的代碼,如果有性能問題:

  • 配置文件的代碼
  • 識別熱點
  • 如果你選擇的集合是一個熱點,考慮改變它。
  • 資料變更後看你有沒有固定的問題
0

要快速找到一個給定的前綴字符串,嘗試trie

Trie dictionary sample