zoukankan      html  css  js  c++  java
  • 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

     
     
     
     
     
  • 相关阅读:
    win10安装.net3.5
    VS2015密钥
    wordpress目录文件结构说明
    js | javascript获取和设置元素的属性
    wordpress | WP Mail SMTP使用QQ邮箱发布失败的解决办法
    jquery 实时监听输入框值变化方法
    XPath编写规则学习
    如何将portfolio产品图片上的悬停去掉?
    wordpress怎么禁止文章复制
    js | javascript实现浏览器窗口大小被改变时触发事件的方法
  • 原文地址:https://www.cnblogs.com/Time_1990/p/4074667.html
Copyright © 2011-2022 走看看