1.匿名方法
匿名方法是没有方法名,只有方法体,调用只能通过委托来实现。匿名方法一般用于回调函数。
Func<int, int, int> plus = delegate(int num1, int num2)
{
return num1 + num2;
};
上面为一个匿名方法的定义和实现,实现了两个数字的相加。
调用匿名方法需要用委托名来调用。
2.Lambda表达式
Lambda表达式可以用来替代匿名方法,Lambda的写法更加简单。
Func<int, int, int> plus = (num1, num2) =>
{
return num1 + num2;
};
上面通过Lambda表达式实现了和匿名方法相同的方法。
参数只有一个时可以不加小括号,方法体只有一个返回值语句时可以不加大括号和return,并且Lambda和匿名方法可以使用外部的变量:
int num2 = 10;
Func<int, int> add = num1 => num1 + num2;