• 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();
            }
  • 相关阅读:
    在Selenium自动化中查找损坏的链接
    WebDriverManager
    在TestNG中重试失败的测试
    算法:汉诺塔
    Java 多线程
    spring ioc原理(看完后大家可以自己写一个spring)
    Apache与Nginx的区别
    Apache与Nginx的区分比较
    Java 设计模式
    Java 理论与实践: 正确使用 Volatile 变量
  • 原文地址:https://www.cnblogs.com/xiaowie/p/9395784.html
Copyright © 2020-2023  润新知