什么是C#中的Func <tresult>?</tresult>

时间:2010-11-09 18:16:56

标签: c# delegates

C#中的Func<TResult>是什么?

我使用了Action<T>,但不知道Func<TResult>的使用情况?

请说明好的例子。

4 个答案:

答案 0 :(得分:7)

Func<TResult>表示采用0参数并返回TResult对象的方法,而Action<T>表示返回void的方法。您需要两个不同的委托,因为您无法将void指定为类型参数。

答案 1 :(得分:1)

Func<TResult> Delegate(可以在MSDN页面上找到一个示例)。

  

封装没有参数的方法,并返回由TResult参数指定的类型的值。

答案 2 :(得分:1)

FuncAction类似,不同之处在于它返回传入的最后一个泛型类型的对象。例如,Func<string>不接受任何参数并返回stringFunc<int, string>int作为参数,并返回string

答案 3 :(得分:1)

行动实际上等于:

的封装
void Foo<T>(T arg)

而函数将等于:

的封装
TResult Foo<TResult>()

如果您不理解T或TResult部分,请查看泛型: https://msdn.microsoft.com/en-us/library/512aeb7t.aspx