LINQ实战阅读笔记--第二章 C#语言的增强特性

Lambda表达式

作为LINQ所必须的众多新语言特性之一,我们接下来将要介绍的是来自于Lambda演算世界中的Lambda表达式。很多函数式编程语言,例如Lisp,都是用Lambda表达式来定义函数。除了为支持LINQ查询语句之外,C#和VB.NET中引入的Lambda表达式还可以被认为是漆走向函数式语言的重要一步。

Lambda表达式与匿名方法比较

         C#2.0中引入的匿名方法允许我们把原本要用委托传入的参数直接以“内联”的方式提供。匿名方法的语法较为冗长,且需要严格遵守其规范。而Lambda表达式则显得更为简洁,直接将函数式编程中的精彩表达能力引入到了代码中。

在功能上,我们可以认为Lambda表达式是匿名方法的一个超集。除了匿名方法能够实现的功能之外,Lambda表达式还提供了如下一些额外的功能:

         Lambda表达式能够推测出参数的类型,因此程序中无需显示声明;

         Lambda表达式支持用语句块或表达式作为方法体,语法上比匿名方法更加灵活(匿名方法的方法体只能为语句块);

         在以参数形式传递时,Lambda表达式能够参与到参数类型推断以及对重载方法的选择中。注意:匿名方法也能够参与参数类型推断(推断返回值的类型);

         带有表达式体的Lambda表达式能够转化为表达式树(表达式树将在下一章中介绍)。

Lambda表达式将新的语法引入到了C#和VB.NET中。在接下来的小节中,本书将介绍Lambda表达式的结构,并通过一些示例让你逐渐熟悉其使用方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值