匿名方法在委托实例化中的应用

1、匿名方法的定义

    所谓匿名方法,就是没有实际方法声明的委托实例,或者说它们的定义是直接内嵌在代码中的,仅有参数列表和方法体,没有返回值类型和方法名。

   匿名方法这一特性仅在c#2.0及更高的版本中得到支持。

2、代码示例

   下面的示例将用到“C# 委托的应用1”这一博文中的例子 冒泡排序

   ComparisonHandler   comparisonMethod=delegate (int  first,int  second)   {   return  first >second ;};

   实例化委托时用到了匿名方法该方法仅有参数列表和方法体,该匿名方法的功能等同于方法GreaterThan()的功能。

   delegate关键字指定了一个“委托字面值”类型,这类似于用引号来指定一个字符串字面值。

   调用BubbleSort方法时可用如下语句:BubbleSort(items,comparisonMethod); 甚至可以再不声明comparisonMethod变量的前提下直接调用方法BubbleSort,如下:

   BubbleSort(items,delegate(int  first,int  second){ return first  >second});

 

总之,自c#2.0开始,可以利用匿名方法这一新特性来声明一个没有名字的方法,该方法将被自动转换成一个委托。

 

3、无参数的匿名方法

  没有参数的匿名方法可以省略参数列表 例如:delegate {  return Console.ReadLine !=“”;}

                                                                                           

 

你可能感兴趣的:(C#)