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表达式的主体可以是表达式也可以是语句块,这样就节约了代码的编写。

  • 相关阅读:
    mybatis 查询一对多子表只能查出一条数据
    Docker 查看容器里Log4写的日 志文 件里的日志
    MYSQL之union的使用
    【前端开发】常见好用的流程图框架
    【推荐】好网站推荐
    【前端工具】好用的数据库工具Navicat
    jQuery ajax
    thinkphp6.0封装数据库及缓存模型
    Unity 3D使用C#脚本实例
    Unity 3D简单使用C#脚本,脚本的执行顺序
  • 原文地址:https://www.cnblogs.com/Fooo/p/6510772.html
Copyright © 2011-2022 走看看