您的位置:首页 > 其它

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

2011-09-14 19:30 190 查看
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 !=“”;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: