匿名方法提供了一种将代码块作为委托参数传递的技术。它们是带有主体的方法,但没有名称。
delegate int IntOp(int lhs, int rhs);
class Program
{
static void Main(string[] args)
{
// C#2.0定义
IntOp add = delegate(int lhs, int rhs)
{
return lhs + rhs;
};
// C#3.0定义
IntOp mul = (lhs, rhs) =>
{
return lhs * rhs;
};
// C#3.0定义 - shorthand
IntOp sub = (lhs, rhs) => lhs - rhs;
// 调用每种方法
Console.WriteLine("2 + 3 = " + add(2, 3));
Console.WriteLine("2 * 3 = " + mul(2, 3));
Console.WriteLine("2 - 3 = " + sub(2, 3));
}
}