Lambda表达式用法

C# 2.0的匿名方法允许我们以内联的方式来实现委
托实例,而C# 3.0的Lambda表达式允许我们使用一
种更接近人的思维、更自然的方式来实现类似于匿
名方法同样的效果。

Lambda表达式格式为:
(参数列表)=>表达式或者语句块
可以有多个参数,一个参数,或者无参数。参数类型
可以隐式或者显式。例如:
 (x, y) => x * y //多参数,隐式类型=> 表达式
 x => x * 10 //单参数, 隐式类型=>表达式
x => { return x * 10; } //单参数,隐式类型=>语句块
(int x) => x * 10 // 单参数,显式类型=>表达式
(int x) => { return x * 10; } // 单参数,显式类型=>语句块
 () => Console.WriteLine() //无参数

Lambda表达式格式要点
• Lambda表达式的参数类型可以忽略,因为可以根
据使用的上下文进行推断。
• Lambda表达式的主体(body)可以是表达式,也可
以是语句块。
•Lambda表达式传入的实参将参与类型推断,以及
方法重载辨析。
•Lambda表达式表达式和表达式体可以被转换为表
达式树。

Lambda表达式与委托类型
Lambda表达式L可以被转换为委托类型D,需要满
足以下条件:
• L和D拥有相同的参数个数。
• L的参数类型要与D的参数类型相同。注意隐式类
型要参与类型辨析。
• D的返回类型与L相同,无论L是表达式,还是语句
块。

转载于:https://www.cnblogs.com/lovezhangyu/archive/2013/04/27/3046568.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值