<分区>
我刚开始用 C# 2.0 编程,所以我从来没有使用过 lambda 表达式,但是,为什么要大惊小怪呢?它们只是匿名委托(delegate)的语法糖,还是还有其他我看不到的东西?
<分区>
我刚开始用 C# 2.0 编程,所以我从来没有使用过 lambda 表达式,但是,为什么要大惊小怪呢?它们只是匿名委托(delegate)的语法糖,还是还有其他我看不到的东西?
最佳答案
嗯,lambda 表达式与匿名方法相比有两个主要方面:
除非您使用表达式树,否则它们与匿名方法极为相似。不同之处在于,通常您可以在一个语句中编写多个 lambda 表达式(将方法调用链接在一起)而不会失去可读性,但匿名方法有点太冗长了。
顺便说一句,与其说 lambda 表达式“只是围绕匿名委托(delegate)的语法糖”,不如说 lambda 表达式和匿名方法“只是围绕创建委托(delegate)(和表达式树)的语法糖”。
不过不要忽视语法糖 - 匿名函数作为闭包的好处是巨大的,并且能够将代码放在您想要的位置,而不是放在单独的方法中。
关于c# - 为什么对 C# lambda 函数如此大肆宣传?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1154808/