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是表达式,还是语句块。

  • 相关阅读:
    flock对文件锁定读写操作的问题 简单
    hdu 2899 Strange Fuction(二分)
    hdu 2199 Can you solve this equation? (二分)
    poj 3080 Blue Jeans (KMP)
    poj 2823 Sliding Window (单调队列)
    poj 2001 Shortest Prefixes (trie)
    poj 2503 Babelfish (trie)
    poj 1936 All in All
    hdu 3507 Print Article (DP, Monotone Queue)
    fzu 1894 志愿者选拔 (单调队列)
  • 原文地址:https://www.cnblogs.com/wzk89/p/1848924.html
Copyright © 2011-2022 走看看