-Lambda表达式

来源:互联网 发布:淘宝账号会不会黑设备 编辑:程序博客网 时间:2024/06/07 00:07

(1)源起

      .net的设计者发现在使用匿名方法时,

      仍旧有一些多余的字母或单词的编码工作

      比如delegate关键字

      于是进一步简化了匿名方法的写法

    (2)使用      

           List<int> arr = new List<int>() { 1, 2, 3, 4, 5, 6, 7 };

           arr.ForEach(new Action<int>(delegate(int a) {Console.WriteLine(a); }));

           arr.ForEach(new Action<int>(a => Console.WriteLine(a)));

?      匿名方法的代码如下:

      delegate(int a) { Console.WriteLine(a); }

      使用lambda表达式的代码如下:

      a => Console.WriteLine(a)

      这里解释一下这个lambda表达式

      <1>

        a是输入参数,编译器可以自动推断出它是什么类型的,

        如果没有输入参数,可以写成这样:

        () => Console.WriteLine("ddd")

      <2>

        =>是lambda操作符

      <3>

        Console.WriteLine(a)是要执行的语句。

        如果是多条语句的话,可以用{}包起来。

        如果需要返回值的话,可以直接写return语句

0 0
原创粉丝点击