首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么对C#的lambda函数大肆宣传?

为什么对C#的lambda函数大肆宣传?
EN

Stack Overflow用户
提问于 2009-07-20 17:23:46
回答 4查看 1.7K关注 0票数 8

我开始使用Lambda2.0编程,所以我从来没有使用过C#表达式,但是,为什么对此如此大惊小怪呢?它们只是匿名委托周围的语法糖,还是还有我看不到的东西?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-07-20 17:25:48

与匿名方法相比,lambda表达式有两个主要特性:

  • 它们比
  • 的匿名方法更简洁,它们可以转换为expression trees以及委托

除非您使用的是表达式树,否则它们与匿名方法极其相似。不同之处在于,您通常可以在一条语句中编写多个lambda表达式(将方法调用链接在一起)而不会失去可读性,但匿名方法就是有点太冗长了。

顺便说一句,与其说lambda表达式“只是匿名委托周围的语法糖”,不如说lambda表达式和匿名方法“只是创建委托(和表达式树)的语法糖”。

但不要忽视语法糖-匿名函数作为闭包的好处是巨大的,以及将代码放在你想要的地方的能力,而不是在一个单独的方法中。

票数 26
EN

Stack Overflow用户

发布于 2009-07-20 17:25:38

它们可以很容易地用作代理周围的语法糖,但lambdas的重要之处在于,编译器能够将它们转换为,这打开了许多可能性(其中最重要的是LINQ)。

票数 14
EN

Stack Overflow用户

发布于 2009-07-20 17:25:46

具有非常简洁的语法使得更多的东西更有可能围绕它们而构建。想象一个没有任何语法糖的复杂Linq查询。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1154808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档