以下是使用匿名方法的基本示例:
using System;
public delegate void MyDelegate(string message);
class Program
{
static void Main()
{
// 使用匿名方法实例化委托
MyDelegate myDelegate = delegate(string msg)
{
Console.WriteLine("Anonymous Method: " + msg);
};
// 调用委托
myDelegate("Hello, Anonymous Method!");
}
}
在上述例子中,我们定义了一个匿名方法,该方法与委托的签名相匹配。然后,我们使用该匿名方法实例化了一个委托,并通过委托调用了匿名方法。
尽管匿名方法在一些情况下仍然有用,但在 C# 3.0 引入的 Lambda 表达式以及后续版本的 C# 中,Lambda 表达式更为常见和推荐。上述示例也可以使用 Lambda 表达式来实现:
using System;
public delegate void MyDelegate(string message);
class Program
{
static void Main()
{
// 使用 Lambda 表达式实例化委托
MyDelegate myDelegate = (string msg) =>
{
Console.WriteLine("Lambda Expression: " + msg);
};
// 调用委托
myDelegate("Hello, Lambda Expression!");
}
}
Lambda 表达式更简洁,使代码更易读。如果你正在使用 C# 3.0 或更高版本,建议使用 Lambda 表达式而不是匿名方法。
转载请注明出处:http://www.pingtaimeng.com/article/detail/14776/C#