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

     
     
     
     
     
  • 相关阅读:
    通用测试用例(二)
    loadrunner基础学习笔记八-分析场景
    loadrunner基础学习笔记七-面向目标场景
    Detect the Virus ZOJ
    考研路茫茫——单词情结 HDU
    DNA Sequence POJ
    病毒侵袭持续中 HDU
    病毒侵袭 HDU
    Keywords Search HDU
    codeforces 949B :A Leapfrog in the Array 找规律
  • 原文地址:https://www.cnblogs.com/Time_1990/p/4074667.html
Copyright © 2011-2022 走看看