我从 Java 编程转为 C# 编程,我发现了 LINQ 的强大之处。
在我最近的实现中,我注意到我在我的代码中经常使用它(特别是 LINQ to Objects)来避免 foreach
循环、搜索列表中的元素和执行类似任务。
现在我想知道大量使用 Linq to Objects 是否存在一些性能劣势...
最佳答案
Linq 比原生 C# 循环慢。
C# 比 C++ 慢。
C++ 比汇编慢。
组装比设计您自己的定制微处理器要慢。
因此,您应该始终设计自己的自定义微处理器,而不是使用 Linq.....
性能是否受到影响?可能吧,但在您实际测量之前,您不会知道有多少。它可能足够小以至于不会很重要,您可以将本应避免使用 Linq 的时间花在处理应用程序中确实通过优化受益的部分上。
底线是 - 使用可提高工作效率的库和框架构建您的应用,然后从那里进行优化。您可能会发现您的应用程序中最慢的部分根本不是 Linq 代码,因此如果您禁止它只是因为它可能比您自己的代码慢,那么您就是在优化错误的部分循环。
关于c# - 使用 LINQ to Objects 语句的 "a lot"是否有一些缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13087328/