简述:Action和Func就是泛型委托,作用就是可以为我们省去定义委托的步骤。
1.Action为返回类型为void且无参的委托<=>等价于delegate void 委托名()
使用方式:
static void DoFirstWork()
{
Console.WriteLine("当前任务{0}在工作", Task.CurrentId);
}
Action t1 = new Action(DoFirstWork);
Action<in T1,in T2……>表示返回类型为void参数类型为T1和T2……的委托<=>delegate void 委托名(类型T1 ,类型T2……)
注:这里T可以多个也可一个
使用方式:
static void DoSecondWork(int m, double k)
{
Console.WriteLine("计算结果为{0}", k + m);
}
Action<int, double> t2 = new Action<int, double>(DoSecondWork);
2.Func<in T1,in T2……out Result>表示返回类型为out参数类型为T1和T2……的委托<=>delegate Result类型 委托名(类型T1,类型T2,……)
使用方法:
static double Multiplay( double value,double value2) {
return value*value2;
}
//其中最后一个为返回类型,之前的全为参数类型。
Func<double, double,double> t3 = new Func<double, double,double>(Multiplay);