码迷,mamicode.com
首页 > 其他好文 > 详细

Lambda表达式的由来

时间:2014-08-12 21:43:34      阅读:883      评论:0      收藏:0      [点我收藏+]

标签:style   使用   size   ad   on   sp   c#   return   

1、lambada表达式的本质:一个匿名方法,或说是匿名委托。从C#3.0开始支持,C#2.0只支持匿名方法
语法很简单 : (输入参数)=>expr   //当参数为一个是可以省略括号。
lambada表达式是由匿名方法简化而来:
delegate in MyDeg(int)
MyDeg md= delegate (int a){ return a+1;} //匿名方法
MyDeg md=(int a)=>{return a+1;} //lambada表达式第一步简化  把匿名方法表达式中的 delegate关键字去掉 在参数和方法体之间加入 => lambda运算符 读作goes to
MyDeg md=(a)=>{return a+1;}   //编译器可以从委托的声明中知道委托的类型  从而可以再简化 省去参数类型(即使用 隐式类型)
MyDeg md= a=>{return a+1;} // 如果lambda表达式的参数只有一个 可以省略圆括号
MyDeg md=a=> a+1 ;  lambda表达式的方法主题可以是语句块或表达式,如果是一个只包含一条return 表达式的语句块 ,可以将语句块替换为 return 关键字后面的表达式。

备注:

当参数是委托时,我们可以传委托、匿名方法、Lambda表达式,要注意的点就是  返回的类型和参数必须和委托的签名保持一致。

Lambda表达式的由来,布布扣,bubuko.com

Lambda表达式的由来

标签:style   使用   size   ad   on   sp   c#   return   

原文地址:http://www.cnblogs.com/lxf1117/p/3908374.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!