• C# 匿名方法及Lambda表达式


    1.匿名方法

       定义:匿名方法不能直接在类中定义,而是在给委托变量赋值的时候,需要赋值一个方法,此时可以“现做现卖”,定义一个匿名方法传递给该委托。

       举实例说明:

       实例一:无参数,无返回值的一个匿名方法

         ////首先定义一个委托

         public delegate void Mydelegate();

        ////声明

         Mydelegate md=delegate(){

               Console.WriteLine("我是Andrew"); }

        ////调用委托

           md();

        实例二:有参数,无返回值的一个匿名方法

         ////首先定义一个委托

         public delegate void Mydelegate(string msg);

        ////声明

         Mydelegate md=delegate(string msg){

               Console.WriteLine("我是Andrew"+msg); }

        ////调用委托

           md("你是谁?");

     实例三:有参数,有返回值的一个匿名方法

         ////首先定义一个委托

         public delegate int Mydelegate(int num1,int num2);

        ////声明

         Mydelegate md=delegate(int n1,int n2){////注意:匿名方法时,无需添加返回的类型

               return n1+n2;}

        ////调用委托

           md(1,2);  ////结果为3

    2. Lambda表达式的语法格式:
         参数列表 => 语句或语句块
         其中“参数列”中可包含任意个参数(与委托对应),如果参数列中有0个或1个以上参数,则必须使用括号括住参数列,如下:
         () => Console.Write("0个参数")
         I => Console.Write("1个参数时参数列中可省略括号,值为:{0}",i)
         (x,y) => Console.Write("包含2个参数,值为:{0}*{1}",x,y)
     
    实例一:无参数,无返回值的一个匿名方法

         ////首先定义一个委托

         public delegate void Mydelegate();

        ////声明

         Mydelegate md=()=>{

               Console.WriteLine("我是Andrew"); }

        ////调用委托

           md();

        实例二:有参数,无返回值的一个匿名方法

         ////首先定义一个委托

         public delegate void Mydelegate(string msg);

        ////声明

         Mydelegate md=m=>{

               Console.WriteLine("我是Andrew"+m); }

        ////调用委托

           md("你是谁?");

     实例三:有参数,有返回值的一个匿名方法

         ////首先定义一个委托

         public delegate int Mydelegate(int num1,int num2);

        ////声明

         Mydelegate md=(x,y)=>{////注意:匿名方法时,无需添加返回的类型

               return x+y;}

        ////调用委托

           md(1,2);  ////结果为3

     
     
     
     
     
  • 相关阅读:
    linux转换win下乱码txt命令
    linux下vi命令大全详细版本
    ubuntu系统如何安装adb调试环境
    LeetCode136---只出现一次的数字
    微信发朋友圈--用例设计(转)
    微服务
    LeetCode1---两数之和
    python输出
    爬楼梯,N级楼梯有多少种走法?
    list数组排序---stream
  • 原文地址:https://www.cnblogs.com/Time_1990/p/4074667.html
Copyright © 2020-2023  润新知