比较:LINQ 与 LAMBDA 表达式

发布于 2024-09-27 02:29:34 字数 49 浏览 0 评论 0原文

我需要讨论 LINQ 和 Lambda 表达式的性能。

哪一个更好?

I need a discussion regarding the Performance of LINQ and Lambda Expression.

Which one is better?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

年少掌心 2024-10-04 02:29:34

我猜你在这里谈论 LINQ 时指的是查询表达式

它们是等价的。编译器在编译之前将查询表达式更改为等效的Lambda表达式,因此生成的IL是完全相同的。

示例

var result = select s from intarray
             where s < 5
             select s + 1;

与以下完全相同

var result = intarray.Where( s => s < 5).Select( s => s+1);

请注意,如果您像这样编写查询表达式:

var result = select s from intarray
             where s < 5
             select s;

它会转换为:

var result = intarray.Where( s => s < 5);

对 Select 的最终调用将被省略,因为它是多余的。

I guess you mean query expression when talking about LINQ here.

They are equivalent. The compiler changes the query expression into the equivalent Lambda expression before compiling it, so the generated IL is exactly the same.

Example

var result = select s from intarray
             where s < 5
             select s + 1;

is exactly the same as

var result = intarray.Where( s => s < 5).Select( s => s+1);

Note that if you write the query expression like this:

var result = select s from intarray
             where s < 5
             select s;

It's converted to:

var result = intarray.Where( s => s < 5);

The final call to Select is omitted because it's redundant.

北恋 2024-10-04 02:29:34

在反射器中进行快速比较可能会解决问题。然而,从“偏好”的角度来看,我发现 lambda 语句更容易遵循、编写和全面使用它们,无论是与对象、xml 还是其他内容一起使用。

如果性能可以忽略不计,我会选择最适合您的。

我实际上开始了一个关于 linq 方法的小主题,可能会感兴趣:

什么是你最喜欢的 linq 方法或“技巧”

干杯..

a quick comparison in reflector would probably do the trick. However, from a 'preference' standpoint, I find lambda statements easier to follow and write and use them across the board whether it be with objects, xml or whatever.

If performance is negligible, i'd go with the one that works best for you.

i actually started off a little topic looking at linq methods which may be of interest:

What's your favourite linq method or 'trick'

cheers..

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文