我如何描述返回值(非void)的Action <T>委托?

Action<T>委托返回void。 有没有其他内置的委托返回非空值?

是。 Func<>返回指定为最终genericstypes参数的types,例如Func<int>返回一个intFunc<int, string>接受一个整数并返回一个string。 例子:

 Func<int> getOne = () => 1; Func<int, string> convertIntToString = i => i.ToString(); Action<string> printToScreen = s => Console.WriteLine(s); // use them printToScreen(convertIntToString(getOne())); 

当然,Func代表返回T.

 Func<TResult> is "TResult method()" Func<TInput, TResult> is "TResult method(TInput param)" 

一路下来

 Func<T1, T2, T3, T4, TResult> 

http://msdn.microsoft.com/en-us/library/bb534960.aspx

http://msdn.microsoft.com/en-us/library/bb534303.aspx

另外,为了完整起见,还有Predicate返回bool。

 Predicate<T> is "bool method(T param)" 

http://msdn.microsoft.com/en-us/library/bfcke1bz.aspx