c# - 使用 LINQ to Objects 语句的 "a lot"是否有一些缺点?

标签 c# .net performance linq

我从 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/

相关文章:

c# - 我应该抛出自己的 ArgumentOutOfRangeException 还是让一个气泡从下面向上冒?

python - 在 3d 数组中查找 2d 数组

c# - @Html.HiddenFor 不适用于 ASP.NET MVC 中的列表

c# - 使用异步 Web 服务时,什么应该 "await"什么不应该?

c# - 如何强制 WPF ListView 重新查询它的 ItemSsource?

.net - 软件版本控制 : Difference in Windows Installer and . 网络版本

c# - 程序集引用之间的差异

MySQL Update 查询需要更多时间来更新表

asp.net-mvc - 在 asp.net-mvc 中,在不影响其他用户的情况下进行昂贵操作的正确方法是什么?

c# - Entity Framework + AutoMapper(实体到 DTO 和 DTO 到实体)