zoukankan      html  css  js  c++  java
  • Lambda表达式的由来

    1、lambada表达式的本质:一个匿名方法,或说是匿名委托。从C#3.0开始支持,C#2.0只支持匿名方法
    语法很简单 : (输入参数)=>expr   //当参数为一个是可以省略括号。
    lambada表达式是由匿名方法简化而来:
    delegate int 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表达式,要注意的点就是  返回的类型和参数必须和委托的签名保持一致。

  • 相关阅读:
    围棋GO
    Android 四大组件------Activity
    android studio----设备兼容
    android UI开发--------Action Bar
    开发调试工具----DDMS
    RxJava的使用
    Atlas框架
    Android studio上git的使用
    AS上git的使用与遇到的问题
    picasso-安卓的图片下载缓存库
  • 原文地址:https://www.cnblogs.com/lxf1117/p/3908374.html
Copyright © 2011-2022 走看看