1.Action委托
Action委托是系统自带的委托类型,它可以定义一个没有返回值得委托。例如:
static void Print(int x, string y, double z)
{
Console.WriteLine(x + y + z);
}
static void Main(string[] args)
{
int x = 40;
Action<int, string, double> a = Print;
a(12, "add", 45.45);
}
2.Func委托
Func委托同样也是系统预定义的一个委托,Func委托必须要在泛型中定义它的返回值类型。
若泛型括号中只有一个类型,则为它的返回值,例如:
static int Test1()
{
return 1;
}
static void Main(string[] args)
{
Func<int> f1 = Test1;
int t1 = f1();
Console.WriteLine(t1);
输出结果为1
若泛型括号中有多个类型,则最后一个为返回值类型,其他的为参数类型,例如:
static double Test2(int a, float b)
{
return a + b;
}
static void Main(string[] args)
{
Func<int, float, double> f2 = Test2;
double t2 = f2(10, 2.5f);
Console.WriteLine(t2);
}
输出结果为12.5