介绍
-
Func是一种委托,这是在3.5里面新增的,2.0里面我们使用委托是用Delegate,Func位于System.Core命名空间下,使用委托可以提升效率,例如在反射中使用就可以弥补反射所损失的性能。
-
Action和Func<T,TResult>的功能是一样的,只是Action没有返类型,
-
Func<T,T,Result>:有参数,有返回类型 Action,则既没有返回也没有参数,
-
Func<T,TResult> 的表现形式分为以下几种:
1。Func<T,TResult> 2。Func<T,T1,TResult> 3。Func<T,T1,T2,TResult> 4。Func<T,T1,T2,T3,TResult> 5。Func<T,T1,T2,T3,T4,TResult>
分别说一下各个参数的意义,TResult表示
委托所返回值 所代表的类型, T,T1,T2,T3,T4表示委托所调用的方法的参数类型,
总结:
使用Func<T,TResult>和Action,Action而不使用Delegate其实都是为了简化代码,使用更少的代码达到相同的效果,不需要我们显示的声明一个委托。
Func<T,TResult>的最后一个参数始终是返回类型,而Action是没有返回类型的,而Action是没有返回类型和参数输入的。