C# 的 Func Action Predicate

 
void Demo_Func_Action( ) { Func<double, double, double> func = UseByFunc; Action<double, double> action = UseByAction; Predicate<double> predicate = UseByPredicate; Console.WriteLine("Func 返回:{0}", UseByFunc(10, 20)); Console.WriteLine("Predicate 返回:{0}", predicate(1)); } // 将会给Func用,由于Func是能够返回结果的
        public double UseByFunc(double x, double y) { return x + y; } //给Action用,由于Action是不返回的
        public void UseByAction(double x, double y) { Console.WriteLine("Action 内部结果:{0}",x-y); } public bool UseByPredicate(double a) { return true; }

 

 

总结:spa

1.Func<T>是有返回值的泛型委托,格式为Func<T1,T2,T..N,TResult>,T1,T2,T..N为多个参数,TResult为返回值code

2.Ation<T>是没有返回值的泛型委托,格式为Action<T1,T2,T..N>,T1,T2,T..N为多个参数blog

3.Predicate<T>是返回值为Bool的泛型委托,至关于Func<T,bool>,主要用于校验,检查等it