C#中的Lambda表达式

Mau*_*lli 6 .net c#

是否存在使用lambda表达式特别有用或者主要用于编写较少代码的情况?

Eri*_*ert 19

将lambda添加到语言中的理由是两件事.

(1)它们使查询理解的语法转换成为可能.当你说

from customer in customers 
where customer.City == "London" 
select customer
Run Code Online (Sandbox Code Playgroud)

那变成了

customers.Where(customer=>customer.City == "London")
Run Code Online (Sandbox Code Playgroud)

(2)它们可以转换为表达式树,从而使LINQ-to-SQL,LINQ-to-Entities等成为可能.也就是说,他们可以代表都做它们的语义的能力,并检查其结构的能力.

  • @Eric - 你忘了说"而且他们真的很酷";) (6认同)