• Lambda


    定义:Lambda 表达式,是一种简化的匿名函数,可用于创建委托或表达式目录树。其次,也可以将 Lambda 表达式作为参数进行传递,或者将它作用于函数调用值调用后返回的一个函数来使用。经常在 LINQ 中使用 Lambda 表达式。

    Lambda 表达式:

    表达式在 => 运算符右侧,称“lambda 表达式”。lambda 表达式常用于 LINQ 和构建表达式树,它也允许返回结果。

    基本形式:( 输入参数 ) => 表达式 。

    1)  ( ) => true;

    2)  x => x == 1;

    3)  (x) => x == 1;

    4)  (x, y) => x == y;

     lambda 表达式有且只有一个输入参数的时侯,括号(“()”)才是可选的。 括号内存在多个输入参数时使用“,”进行分割。

    也可以选择显式指定类型,一般只有在编译器难以或无法准确推断输入类型的时候。

      Lambda语句:lambda 语句和上面的 lambda 表达式相比,只是多了个大括号(“{ }”)。  

    基本形式:( 输入参数 ) => { 表达式 }

    Lambda的特点:

    1)  Lambda 中包含输入参数的数量,必须与委托类型包含的参数数量一致。

    2)  Lambda 中的每个输入参数,必须都能够通过隐式转换为其对应的委托参数类型

    3)  Lambda 中的返回值(如果有),必须能够隐式转换为委托的返回类型

    Linq中使用Lambda:

    许多 LINQ 中的参数都是一种委托类型的参数,如 Func<T, TResult>,可以定义输入参数以及返回类型。

    public delegate TResult Func<TArg0, TResult>(TArg0 arg0) 

    Func<int, bool> 表示:int 为输入参数,bool 为返回值。

    Func<int, int, bool> 表示:2个 int 为输入参数,一个 bool 为返回值。

    异步Lambda:

    通过 async 和 await 关键字,我们可以很简单并快速的创建包含异步处理的 lambda 表达式和语句。

    1)  Async

    2)  Await

  • 相关阅读:
    P4146 序列终结者(Splay树)
    P2617 Dynamic Rankings(树套树)
    P4168 [Violet]蒲公英(分块魔术)
    P3649[APIO2014]回文串(回文自动机)
    [IOI2011]Race(树上启发式合并)
    CentOS 7安装 .net core 环境 官网说明地址
    宝塔 Linux 面板php.ini文件在哪个目录
    KPPW部署一直提示No input file specified的Apache伪静态设置
    【分享】 MPSoC的VCU超频
    Versal AIE 上手尝鲜 2 -- Linux例程
  • 原文地址:https://www.cnblogs.com/nxj1997/p/11201801.html
Copyright © 2020-2023  润新知