2012-07-31 47 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