public delegate TResult Func
在 C# 中,
Func
是一个泛型委托,用于表示没有参数或有参数但无返回值的方法。Func
委托是 .NET 框架中 System
命名空间的一部分,它被广泛用于 LINQ 查询和异步编程中,因为它允许你以类型安全的方式传递方法调用。Func
委托有多个重载版本,可以根据需要接受不同数量的参数。以下是一些常见的 Func
委托重载:-
Func<TResult>
:不接受参数,返回一个TResult
类型的结果。 -
Func<T, TResult>
:接受一个类型为T
的参数,返回一个TResult
类型的结果。 -
Func<T1, T2, TResult>
:接受两个参数,类型分别为T1
和T2
,返回一个TResult
类型的结果。 -
Func<T1, T2, T3, TResult>
:接受三个参数,类型分别为T1
、T2
和T3
,返回一个TResult
类型的结果。 -
Func<T1, T2, T3, T4, TResult>
:接受四个参数,类型分别为T1
、T2
、T3
和T4
,返回一个TResult
类型的结果。
Func
委托的语法示例:csharp复制
// 没有参数,返回一个 int 结果
Func<int> noParams = () => 42;
// 一个参数,返回一个 string 结果
Func<int, string> oneParam = (x) => $"The number is {x}";
// 两个参数,返回一个 bool 结果
Func<int, int, bool> twoParams = (x, y) => x > y;
// 使用 Func 委托
int result = noParams(); // 返回 42
string message = oneParam(10); // 返回 "The number is 10"
bool comparison = twoParams(5, 3); // 返回 true
在这些示例中,
Func
委托被用来定义没有参数的方法、接受一个参数的方法和接受两个参数的方法。这些委托可以被赋值给变量,并且可以在需要时调用它们,就像调用普通方法一样。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步