zoukankan      html  css  js  c++  java
  • C# Lambda表达式

    Lambda表达式

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

    1. delegate int del(int i);  
    2. del myDelegate = x => x * x;  
    3. int j = myDelegate(5); //j = 25 

    Lambda表达式可以有多个参数、一个参数,或者没有参数。其参数类型可以隐式或者显式。示例代码如下:

    1. (x, y) => x * y         //多参数,隐式类型=> 表达式  
    2. x => x * 5              //单参数, 隐式类型=>表达式  
    3. x => { return x * 5; }      //单参数,隐式类型=>语句块  
    4. (int x) => x * 5            //单参数,显式类型=>表达式  
    5. (int x) => { return x * 5; }      //单参数,显式类型=>语句块  
    6. () => Console.WriteLine()   //无参数 

    上述格式都是Lambda表达式的合法格式,在编写Lambda表达式时,可以忽略参数的类型,因为编译器能够根据上下文直接推断参数的类型,示例代码如下。

    1. (x, y) => x + y         //多参数,隐式类型=> 表达式 

    Lambda表达式的主体可以是表达式也可以是语句块,这样就节约了代码的编写。

  • 相关阅读:
    Arduino uno 教程~持续更新~
    Arduino uno LED灯实验
    Arduino uno 引脚说明
    面包板的使用
    数量经济学推荐的Julia教程
    已知一点经纬度和距离,方位角;求另外一点的经纬度
    a recipe kindly provided by Dimas for kikuchi
    发现了拯救“文献多的一团麻”的工具
    matlab中diff的用法
    matlabR2017安装
  • 原文地址:https://www.cnblogs.com/Fooo/p/6510772.html
Copyright © 2011-2022 走看看