Ben*_*sen 7 optimization performance linq-to-objects
你使用LINQ to Objects优化技术或者你在野外看到了什么?
在等待"产生foreach"和其他语言/编译器优化到201x中的C#时,我很有意思尽一切可能使LINQ在任何地方使用,而不是性能上的痛苦.
到目前为止,我看到的一种模式是为特定的组合器创建自定义的IEnumerable实现,这样可以多次重新枚举枚举.
Jon*_*eet 10
我发现了几次 - 不要使用:
if (query.Count() > 0)
Run Code Online (Sandbox Code Playgroud)
......用这个代替:
if (query.Any())
Run Code Online (Sandbox Code Playgroud)
这样它只需要找到第一场比赛.
编辑:您可能也对我最近撰写的关于优化的博客文章感兴趣,这些优化可能在LINQ to Objects中但不是(或者不在.NET 3.5中).
此外,如果您要进行大量x.Contains(y)操作并且x是现有查询的结果(即它不会是某些优化的集合),您应该考虑构建HashSet<T>from x以避免线性扫描(执行查询)x在每次迭代中产生结果.
| 归档时间: |
|
| 查看次数: |
1452 次 |
| 最近记录: |