在C#中,Func 和 Action 是两种常见的泛型委托类型。当你需要代表一个函数或方法的委托时,C#中的泛型委托 Func 和 Action 变得非常有用。
Action
Action 是一个代表不返回值的委托。它可以接受从零到 16 个输入参数。如果你有一个方法不返回任何内容,你可以使用 Action。
Action用法示例:
- // Action 不返回值,接受一个整数和一个字符串参数
- Action<int, string> myAction = (x, y) => Console.WriteLine($"Integer: {x}, String: {y}");
-
- // 调用 Action
- myAction(10, "Hello");
-
Func
Func 代表一个具有返回值的委托。它的最后一个泛型参数表示返回值类型,前面的参数表示输入参数类型。它可以接受从零到 16 个输入参数。
Func用法示例:
- // Func 接受一个整数和一个字符串参数,并返回一个布尔值
- Func<int, string, bool> myFunc = (x, y) =>
- {
- Console.WriteLine($"Integer: {x}, String: {y}");
- return true;
- };
-
- // 调用 Func
- bool result = myFunc(5, "World");
-
Func和Action的用法说明:
这些泛型委托在使用 LINQ、异步编程和事件处理等情况下特别有用。它们能够简化代码并提高可读性,允许以一种更灵活的方式处理函数和方法。