以下通过代码对比,委托+方法、匿名方法、Lambda表达式的区别。
一.委托+方法
这里用上一篇中的实例:
namespace Func
{
public delegate int MyDel(int num);//声明一个自定义委托
class Program
{
static int Add1(int a)
{
int b = 10 + a;
Console.WriteLine("——Add1———");
return b;
}
static int Add2(int a)
{
int b = 10 - a;
Console.WriteLine("——Add2———");
return b;
}
static void Calculate(MyDel ex, int a)
{
var result = ex(a);
Console.WriteLine(result + "\n");
}
static void Main(string[] args)
{
Calculate(Add1, 1);
Calculate(Add2, 10);
Console.ReadKey();
}
}
}
一.匿名方法
匿名方法: