关于c#:比较:LINQ vs LAMBDA表达式

Comparison : LINQ vs LAMBDA Expression

我需要讨论一下Linq和lambda表达式的性能。

哪一个更好?


我想你是说在这里谈论林肯的时候,你的意思是query expression

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

例子

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

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

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

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

它被转换为:

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

选择的最后一个调用被省略,因为它是多余的。


在反射镜中进行快速比较可能会达到目的。但是,从"首选"的角度来看,我发现lambda语句更容易跟随、编写和全面地使用它们,无论它是与对象、XML还是其他东西一起使用。

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

实际上,我从一个小话题入手,研究了可能感兴趣的LINQ方法:

你最喜欢什么样的LINQ方法或"技巧"

干杯。。