委托之小谈匿名方法

在以往我们的认知中,方法都是必须有方法名的,但是,在使用委托类型的时候,你却可以使用匿名方法

匿名方法的使用格式:

首先 要定义一个 委托类型

public delegate 返回值类型  del(参数列表n);

现在开始定义匿名方法:

del  委托变量名=delegate(参数列表n)

   方法体  ;


使用时:

委托变量(参数列表);

注意: 匿名方法内不能使用break ,goto, continue等关键字 ,也不可以 使用 ref ,out   但是它可以使用其方法体外部的变量,以及注意 {}结尾处有 “    ” 。

这样,一个匿名方法就定义好了 ,仔细观察 ,会发现,匿名方法也是可以有参数的 ,而且其参数列表与定义的委托类型一致,所以看到委托类型有返回值我们又会猜想 匿名方法是不是也可以有返回值,同时其返回值类型与使用的 委托类型一致,   没错,匿名方法确实可以有返回值,而且和使用的委托类型一致

示例:

using System;
using System.Text;
using System.collections.Generic;

namespace   匿名方法示例
{
   public delegate int del(int a,int b);
   class  匿名方法
{
  public static void main (string [] args)
  {
   del handler=delegate(int a,int b)
    {
      return a+b;
    }; //注意此处有分号
      int c=hander(1,2);
      console.writeline(c);
     console.readkey();
   }

  }
}
 

posted @ 2014-03-12 13:28  Danlama  阅读(223)  评论(0编辑  收藏  举报