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

  • 相关阅读:
    Tar命令用法详解
    一次Linux系统被攻击的分析过程
    企业系统安全管理和强化的十点建议
    中型企业的IT运维策略
    企业邮件服务器被列入RBL,申请撤销PBL指控
    Xshell远程连接Ubuntu
    LeetCode 7: Reverse Integer
    LeetCode 14: Longest Common Prefix
    LeetCode 203:Remove Linked List Elements
    数据挖掘之处理分类自变量与处理时间变量
  • 原文地址:https://www.cnblogs.com/Fooo/p/6510772.html
Copyright © 2011-2022 走看看