C#匿名方法

示例

匿名方法提供了一种将代码块作为委托参数传递的技术。它们是带有主体的方法,但没有名称。

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));
    }
}