匿名方法是在C#2.0时引入的,C#3.0中仍然可以使用。通常给委托对象赋值一个方法时,要先定义这个方法,然后把方法名赋给委托对象,使用匿名方法可以直接将代码块赋给委托对象,不需要方法名,所以称为匿名方法。这个功能省去创建委托时想要传递给一个委托的小型代码块的一个额外的步骤。它也消除了类代码中小型方法的混乱。下面的代码说明使用匿名方法可以直接将代码块赋给委托对象,不需要方法名。
class Program
{
delegate void Mydelegate(string str); //声明委托
static void Main(string[] args)
{
string str = "Hello,C# 3.0"; //声明一个字符串变量
Mydelegate my = delegate(string s) //使用匿名方法来使用委托
{
//委托执行一个只有一个Console.WriteLine语句的方法。
Console.WriteLine(s.ToUpper()); //将s转为大写字母后输出
};
my(str); //使用委托,调用匿名方法,将str转为大写后输出
Console.ReadLine();
}
}
拖拽:
点击打开链接