系统自带的委托Action和Func

一、Action(没有返回值的委托,参数可有可无)

1.Action是无参无返回值的委托,用法如下:(非泛型Action)

1 //无参无返回值的Action
2             Action a = () => { Console.WriteLine("这是无参数无返回值的Action"); };
3             a();
View Code

输出:这是无参数无返回值的Action

2.Action<T>是有参数无返回值的委托,用法如下:

1 //有参数无返回值的
2             Action<string, int> a = (s, i) => { Console.WriteLine(s + i); };
3             a("中国", 2);
View Code

输出:中国2

二、Func<T>

有返回值的委托,如果只指定了一个泛型类型,那么这个类型就是返回值的类型;如果指定了多个泛型类型,那么最后一个泛型的类型是返回值类型。

1.只有一个泛型类型

1 Func<string> f = () => { return "这是返回值"; };
2             Console.WriteLine(f());
View Code

输出:这是返回值

2.有多个泛型类型

1 Func<int, double, string> func = (i, d) => { return (i + d).ToString(); };
2             Console.WriteLine(func(1, 1));
View Code

 输出:2

原文地址:https://www.cnblogs.com/wesley168/p/6789608.html