lambda作为实现表达式树的一种方式,在开始学习表达式树之前,需要对lambda进行一些了解
表达式lambda,定义:
(input-parameters) => expression
语句lambda,定义:
(input-parameters) => { <sequence-of-statements> }
例子:
从例子可以看出,lambda表达式建立在委托的基础上,本质上是一种匿名委托。
使用弃元指定lambda表达式中不使用的输入参数:
异步lambda:
结果:
元祖lambda:
结果:
3,-1
C# 10可以不申明lambda表达式的委托类型(近一步简化代码写法)
C# 10可以在输入参数前面指定 Lambda 表达式的返回类型
C# 10可以将属性添加到 Lambda 表达式及其参数
下面就开始学习表达式树
创建表达式树的方式有2种
第一种是根据 Lambda 表达式创建表达式树,表达式lambda可以生成表达式树,语句lambda不能生成表达式树
下面是表达式lambda创建表达式树的一个例子: