C#中的Action是一种委托类型,用于引用不返回值的方法。Action可以接受0到16个参数,并且不返回任何值。它是一种通用的委托类型,非常方便用于处理不同参数和不同函数签名的情况。Action的用法包括声明Action委托类型、创建Action实例并赋值给委托变量、以及调用Action。
声明Action委托类型:可以通过
Action
关键字声明一个Action类型的变量,例如Action action;
。如果需要指定参数类型,可以使用Action<T>
,其中T
是参数的类型,例如Action<int> actionWithInt;
或Action<string, int> actionWithStringAndInt;
。创建Action实例并赋值给委托变量:可以使用Lambda表达式创建Action实例并赋值给委托变量。例如,创建一个不接受参数的Action可以通过
action = () => { Console.WriteLine("Action without parameters"); };
来实现。同样地,带有参数的Action可以通过类似的方式创建,例如actionWithInt = (x) => { Console.WriteLine($"Action with int parameter: {x}"); };
。调用Action:创建的Action可以通过直接调用其引用的方法名来执行,例如
action();
会执行Lambda表达式中定义的代码块,输出"Action without parameters"。对于带有参数的Action,可以通过传递参数来调用,例如actionWithInt(10);
会输出"Action with int parameter: 10"。
Action提供了一种灵活且类型安全的方式来封装和传递无返回值的方法,并且可以通过Lambda表达式方便地创建匿名方法作为参数传递。这使得Action在C#编程中非常有用,可以用于执行不返回值的任何操作,如打印消息、更新状态等