2

这就是我正在做的事情:

  1. 取一个字符串
  2. 检查 HashSet 是否包含字符串
  3. 如果没有,则将字符串添加到 HashSet(如果有,请执行其他操作)

这必须以最快的方式处理非常大的字符串数组

使用 HashSet 是检查字符串是否已经出现的最快方法,还是 .net 4.5 有更好的方法?

4

2 回答 2

7

请参阅HashSet.Add

如果元素被添加到 HashSet 对象,则返回true ;如果元素已经存在,则返回false 。

HashSet<string> hs = new HashSet<string>();
bool b1 = hs.Add("xxx"); //returns true
bool b2 = hs.Add("xxx"); //returns false
于 2012-12-03T19:48:33.670 回答
2

也许使用新的并发数据类型可以加快您的程序,但使用分析器来比较场景并选择最佳选项。

http://blogs.msdn.com/b/pfxteam/archive/2010/04/26/9997562.aspx

http://geekswithblogs.net/BlackRabbitCoder/archive/2011/06/16/c.net-fundamentals-choosing-the-right-collection-class.aspx

帮助 C#.NET 泛型集合性能和优化

于 2012-12-03T19:55:40.047 回答