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

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 !=“”;}

                                                                                           

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值