zoukankan      html  css  js  c++  java
  • Lambda表达式&匿名方法

    “Lambda表达式“(lambda Expression)就是一个匿名函数(匿名方法),lambda表达式基于数学中的演算得名。

    lambda运算符:所有的lambda表达式都是用新的lambda运算符”=>“,可以叫他”转到“或者”成为“ 读作”goes to“。运算符将表达式分两部分,

    左边指定输入参数,右边是lambda的主体(方法体)。

    Lambda表达式:

      一个参数:param=>expr

      多个参数:(Param-list)=>expr

    输入参数与表达式或语句块

      输入参数:在lambda表达式中,输入参数是lambda运算符的左边部分,它包含参数的个数可以为0,1或多个,只有当输入参数为1时,lambda表达式

    左边的一对小括弧才可以省略。输入参数的数量大于或者等于2是,lambda表达式左边的一对小括弧中的多个参数之间使用逗号分隔。

      表达式或语句块:多个Lambda表达式 可以构成lambda语句块。语句块是梵高运算的右边 ,作为lambda的主体。语句块中可以包含多条语句,并且可以包含

    循环,方法调用和if语句等。语句块必须被 {和}包围。

    实例:

      

      static void Main(string[] args)
            {
                //无参数无返回值lambda表达式
                Action my = () => { Console.WriteLine("ni hao shijie"); };
                my();
                //有参数没有返回值的lambda表达式
                Action<int> my1 = x => { Console.WriteLine(x+25); };
                my1(25);
                //有多个参数没有返回值的lambda表达式
                Action<int,int,int > my2 = (x , d ,c)=>
                {
                    Console.WriteLine(x+d+c);
                };
                my2.Invoke(12,25,44);
                //有返回值有参数的lambda表达式
                Func<int, int, int> my4 = (str, srt) => { return str * srt; };
                int a=my4.Invoke(20,20);
                Console.WriteLine(a);
                Console.ReadKey();
            }
  • 相关阅读:
    CF 461B Appleman and Tree
    POJ 1821 Fence
    NOIP 2012 开车旅行
    CF 494B Obsessive String
    BZOJ2337 XOR和路径
    CF 24D Broken robot
    POJ 1952 BUY LOW, BUY LOWER
    SPOJ NAPTIME Naptime
    POJ 3585
    CF 453B Little Pony and Harmony Chest
  • 原文地址:https://www.cnblogs.com/xiaowie/p/9395784.html
Copyright © 2011-2022 走看看