C#中的Action委托

Action委托

除了用户自定义的委托之外,系统还未用户提供了一个内置的委托类型:
Action和Func
Action委托:
该委托引用了一个void返回类型的方法

static void PrintString()
{
    Console.WriteLine("hello world");
}

static void main()
{
    //Action是系统内置类型(预定义)的一个委托类型
    //它可以指向一个没有返回值、没有参数的方法
    Action a = PrintString;   
}
//定义了一个委托类型
//该类型可以指向一个没有返回值,有一个int类型参数的方法
Action<int> a;

//类似的
//定义了一个委托类型
//该类型可以指向一个没有返回值,有一个string类型参数的方法
Action<string> b;

//该类型可以指向一个没有返回值,但是又两个参数:int和string的方法
Action<int, string> c;

需要注意的是,Action是没有返回值的,但是可以通过在Action后面声明泛型来指定方法的参数类型。
方法参数类型和Action后面声明的委托类型是要对应的。

//最多可以有16个参数
Action
Action<in T>
Action<in T1,in T2>
Action<in T1,in T2 .... ,in T16>
  • in:表示输入参数的含义

版权声明:本文为lym940928原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。