C#中的Func<TResult>
是什么?
我使用了Action<T>
,但不知道Func<TResult>
的使用情况?
请说明好的例子。
答案 0 :(得分:7)
Func<TResult>
表示采用0参数并返回TResult
对象的方法,而Action<T>
表示返回void的方法。您需要两个不同的委托,因为您无法将void
指定为类型参数。
答案 1 :(得分:1)
Func<TResult>
Delegate(可以在MSDN页面上找到一个示例)。
封装没有参数的方法,并返回由TResult参数指定的类型的值。
答案 2 :(得分:1)
Func
与Action
类似,不同之处在于它返回传入的最后一个泛型类型的对象。例如,Func<string>
不接受任何参数并返回string
。 Func<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