雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

C#中内置的泛型委托Func和Action用法

2024-09-10 34

在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的用法说明:

灵活性:这两种泛型委托提供了更大的灵活性。你可以根据方法的需要指定输入参数和返回类型。 参数数量:两者都支持不同数量的参数,但 Action 永远不返回值,而 Func 总是返回一个值。 代表方法:可以将它们用作方法的参数,这在需要动态指定要调用的方法时非常有用。

这些泛型委托在使用 LINQ、异步编程和事件处理等情况下特别有用。它们能够简化代码并提高可读性,允许以一种更灵活的方式处理函数和方法。

更新于:2个月前
赞一波!

文章评论

评论问答