委托之小谈匿名方法
在以往我们的认知中,方法都是必须有方法名的,但是,在使用委托类型的时候,你却可以使用匿名方法
匿名方法的使用格式:
首先 要定义一个 委托类型
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();
}
}
}