函数 - Action、Func 与 Predicate 的区别
区别:
action无法返回值,可以传入零个或多个参数
func函数的使用,用法与普通函数差不多,最后一个参数为返回值,其他参数为为传进来的参数,注意必须要有返回值,但可以没有参数。
Predicate函数用于条件判断,有参数有返回值,且只能返回bool类型
action具体实现:
//action的具体实现,action无法返回值,可以传入零个或多个参数 string actionStr = ""; //无参写法 Action noparamAction = () => { actionStr = "123"; }; Action<string, string> action = (m,n) => { actionStr = m + n; }; action("first", "second"); //firstsecond Console.WriteLine(actionStr);
func具体实现:
//func函数的使用,用法与普通函数差不多,最后一个参数为返回值,其他参数为为传进来的参数,注意必须要有返回值。 //无参写法 Func<int> noParamFunc = () => { return 10; }; Func<string,string,int> func= (m,n) => { return (m + n).Length; }; Console.WriteLine(func("dolph","toms"));
Predicate具体实现:
List<int> list = new List<int> { 1, 3, 5, 23, 51, 2 }; //Find的参数为Predicateint num = list.Find(m => m == 3); Console.WriteLine(num);