LINQ是否通过消除循环来提高性能?

NLV*_*NLV 5 c# linq linq-to-objects

我使用Linq来对付一些集合对象(Dictionary,List).因此,如果我想根据条件选择项目,我会编写Linq查询,然后枚举linq对象.所以我的问题是,Linq消除了对主要集合的循环,从而提高了性能?

Jon*_*eet 8

绝对不.LINQ to Objects在内部循环 - 它还有什么用呢?

在另一方面,LINQ 不是你可以采取一些方法更有效,通过流仅在需要时将数据等.

第三方面,它涉及额外的间接层(所有迭代器等),这将对性能产生一些边际影响.

  • 啊哈!我知道你有三只手. (10认同)
  • 实际上,如果我们都写了optcodes它可能会更快,并且不需要编译器.我们都应该转向那个. (2认同)