.NET中LINQ和Lambda表达式的效率和性能是什么?

我已经使用.Net 3.5和VS 2008了一个多月。像大多数.Net开发人员一样,我是从.Net 1.0&2.0和VS

2005的多年经验中发展而来的。最近,我发现了LINQ和Lambda Expressions的简单性和强大功能,例如我最近的问题(例如,查找列表中的项)

LINQ,使用Lambda或LINQ 将类实例转换或映射到另一个实例列表,并使用Lambda或LINQ 将类列表转换或映射到另一个类列表。

我承认Lambda和LINQ更简单易读,而且功能强大。在后台,.Net编译器必须生成大量代码才能实现这些功能。因此,我有点犹豫要切换到新语法,因为我已经知道达到相同结果的“旧”方法。

我的问题是关于Lambda和LINQ的效率和性能。也许Lambda表达式主要是内联函数,在这种情况下,我认为Lambda应该可以。LINQ呢?

让我们将讨论限于LINQ-to-Objects LINQ-to-SQL(LINQ-to-SQL)。有什么意见,比较和经验吗?

回答:

这里没有一个单一的答案就足够了。

LINQ有许多用途和实现,因此对代码效率有许多影响。

就像我们触手可及的每一项技术一样,LINQ可能并且将被滥用和滥用,而区分这些技术和正确使用的能力仅取决于一件事:知识。

因此,我能为您提供的最佳建议是继续阅读LINQ的实际实现方式。

您应该检查的内容是:

  • LINQ及其如何在现有集合类型上使用方法和扩展方法

    • LINQ如何工作
    • LINQ如何内部工作(堆栈溢出)
    • LINQ编码如何工作?幕后发生了什么?

  • LINQ到对象和LINQ到SQL有何不同

    • LINQ查询表达式和扩展方法之间有什么区别(堆栈溢出)

  • 新LINQ语法的替代方法,例如,集合使用.Where(…)扩展方法

与往常一样,在查看效率问题时,唯一安全的方法就是衡量。使用LINQ创建一段代码,该代码完成一个单一的,已知的事情并创建一个替代方案,然后对二者进行度量,并尝试进行改进。猜测和假设只会导致不良结果。

以上是 .NET中LINQ和Lambda表达式的效率和性能是什么? 的全部内容, 来源链接: utcz.com/qa/433485.html

回到顶部