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

    (1)Lambda表达式简介:

    C#2.0的匿名方法云寻我们以内联的方式来实现委托实例,而C#3.0Lambda表达式允许我们使用一种更接近人的思维,更自然的方式来实现类似于匿名方法同样的效果。

     

    (2)Lambda表达式格式:

    (参数列表)=>表达式或者语句块;

    可以有多个参数,一个参数,或者无参数。参数类型可以隐式或者显式。

    例如:

    (x,y)=>x*y 多参数,隐式类型=>表达式

    x=>x*10 单参数,隐式类型=>表达式

    x=>{return x*10;} 单参数,隐式类型=>语句块

    (int x)=>x*10单参数,显式类型=>表达式

    (int x)=>{ return x*10;} 单参数,显式类型=>语句块

    ()=>Console.WriteLine() 无参数

     

    (3)Lambda表达式格式要点:

    1)  Lambda表达式的参数类型可以忽略,因为可以根据使用的上下文进行推断。

    2)  Lambda表达式的主题(body)可以是表达式,也可以是语句块。

    3)  Lambda表达式传入的实参将参与类型推断,以及方法重载辨析。

    4)  Lambda表达式表达式和表达式体可以被转换为表达式树。

     

    (4)Lambda表达式与委托类型:

    Lambda表达式L可以被转换为委托类型D,需要满足一下条件:

    LD拥有相同的参数个数;

    L的参数类型要与D的参数类型相同。注意隐式类型要参与类型辨析;

    D的返回类型与L相同,无论L是表达式,还是语句块。

  • 相关阅读:
    HDFS的工作流程分析
    linux文本分析利器awk
    二叉树遍历
    tomcat 工作原理简析
    徐汉彬:Web系统大规模并发——电商秒杀与抢购
    牛人博客 列表
    消息队列 概念 配合SpringBoot使用Demo
    Redis 实例排除步骤
    Java分布式 一些概念理解
    消息成功失败回调demo
  • 原文地址:https://www.cnblogs.com/wzk89/p/1848924.html
Copyright © 2011-2022 走看看