上周我收到了一些代码,并被要求提高其性能。因此开始了工作,但很快我发现他们使用了很多的
他们唯一做的事情就是用对象填充HashSet,然后使用一些Linq在多个集合之间执行查询。大多数查询是加入1个或n个HashSet,或者使用
我想知道与普通的
在互联网上,很多文章说List会更快,但有些说HashSet处理大量集合比List更好。
希望有人能给我更多建议。
谢谢。
HashSet<T>
对象来存储大量的对象(在10000到超过100000个对象之间)。在代码中,他们使用HashSet<T>
是出于性能原因。他们唯一做的事情就是用对象填充HashSet,然后使用一些Linq在多个集合之间执行查询。大多数查询是加入1个或n个HashSet,或者使用
First()
或Where()
从集合中检索特定的对象。我想知道与普通的
List<T>
相比,我们是否会获得任何性能优势?因为他们在代码中使用的所有Linq扩展方法都是针对IEnumerable<T>
编写的。在互联网上,很多文章说List会更快,但有些说HashSet处理大量集合比List更好。
希望有人能给我更多建议。
谢谢。
First
元素是错误的,除非你需要一个任意元素,或者已经过滤掉所有但一个元素。 - Kobi