C#中的Lambda表达式和表达式树

本文详细介绍了C#中的Lambda表达式,包括其作为匿名函数的特性,使用运算符=>定义参数和表达式,以及访问外部变量的能力。此外,还探讨了Lambda表达式在委托和表达式树中的应用,强调了表达式树作为一种数据结构,用于表示代码。文章通过示例展示了如何构建和理解表达式树,并解释了编译器如何根据上下文生成可执行代码或表达式树。最后,总结Lambda表达式的优点,如简化代码和提供灵活性。
摘要由CSDN通过智能技术生成

Lambda —— 表达式

"Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量。它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型,支持带有可绑定到委托或表达式树的输入参数的内联表达式。所有Lambda表达式都使用Lambda运算符=>,该运算符读作"goes to"。Lambda运算符的左边是输入参数(如果有),右边是表达式或语句块。Lambda表达式x => x * x读作"x goes to x times x"。

Lambda 表达式是一个匿名函数,用它可以高效简化代码,常用作委托,回调

Lambda 表达式都使用运算符=>,所以当你见到这个符号,基本上就是一个 Lambda 表达式

Lambda 运算符的左边是输入参数(),=>,右边是表达式或语句块

Lambda 表达式,是可以访问到外部变量的

可以将此表达式分配给委托类型,如下所示:

delegate int del(int i);
static void Main(string[] args)
{
    del myDelegate = x => x * x;
    int j = myDelegate(5); //j = 25
}

Parameter —— 参数

Lambda 只有一个参数时,可以省略括号

如果多个参数,则必须加括号,并且用隔开

单参数 ,匿名函数:

x => x * x; //传入参数为:x,返回值为 x*x 的值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值