比较:LINQ 与 LAMBDA 表达式
我需要讨论 LINQ 和 Lambda 表达式的性能。
哪一个更好?
I need a discussion regarding the Performance of LINQ and Lambda Expression.
Which one is better?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我猜你在这里谈论 LINQ 时指的是
查询表达式
。它们是等价的。编译器在编译之前将
查询表达式
更改为等效的Lambda表达式,因此生成的IL是完全相同的。示例
与以下完全相同
请注意,如果您像这样编写查询表达式:
它会转换为:
对 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
is exactly the same as
Note that if you write the query expression like this:
It's converted to:
The final call to Select is omitted because it's redundant.
在反射器中进行快速比较可能会解决问题。然而,从“偏好”的角度来看,我发现 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..