比较:LINQ vs LAMBDA表达式

我需要讨论LINQ和Lambda Expression的性能。

哪一个更好?

我猜你的意思是在这里谈论LINQ时的query expression

它们是等价的。 编译器在编译之前将query expression更改为等效的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被省略,因为它是多余的。

reflection器中的快速比较可能会成功。 但是,从’偏好’的角度来看,我发现lambda语句更易于遵循,并且无论是对象,xml还是其他内容,都可以全面编写和使用它们。

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

我实际上开始讨论一些可能感兴趣的linq方法的话题:

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

干杯..