以下是一个使用匿名方法的简单示例:
using System;
public delegate void MyDelegate(string message);
class Program
{
static void Main()
{
// 使用匿名方法初始化委托
MyDelegate myDelegate = delegate (string msg)
{
Console.WriteLine("匿名方法输出: " + msg);
};
// 调用委托
myDelegate("Hello, World!");
Console.ReadLine();
}
}
在上面的例子中,MyDelegate 是一个接受字符串参数的委托。通过使用 delegate 关键字,我们可以在初始化委托的同时定义匿名方法。匿名方法的主体包含在 delegate 关键字后面的花括号内。
在C# 3.0及更高版本中,匿名方法也可以使用更简洁的 lambda 表达式来表示,上述示例可以改写为:
using System;
public delegate void MyDelegate(string message);
class Program
{
static void Main()
{
// 使用 lambda 表达式初始化委托
MyDelegate myDelegate = (msg) =>
{
Console.WriteLine("Lambda 表达式输出: " + msg);
};
// 调用委托
myDelegate("Hello, World!");
Console.ReadLine();
}
}
Lambda 表达式提供了更简洁的语法来表示匿名方法。这两种方法本质上是等效的,选择使用哪一种通常取决于个人或团队的编程风格。
转载请注明出处:http://www.pingtaimeng.com/article/detail/6369/C#