Func泛型类型存储匿名方法,并且是参数化类型。
在下面的示例中,我们有4个func类型实例-
第一种类型接收int并返回字符串
Func<int, string> one = (p) => string.Format("{0}", p);
第二种类型接收bool和long并返回字符串
Func<bool, long, string> two = (q, p) =>string.Format("{0} and {1}", q, p);
第三种类型接收bool和int并返回字符串
Func<bool, int, string> three = (q, p) => string.Format("{0} and {1}", q, p);
第四种类型接收十进制并返回字符串
Func<decimal, string> four = (p) =>string.Format("{0}", p);
让我们看看如何显示它们-
using System; using System.IO; namespace Demo { class Program { static void Main(string[] args) { //四个func类型实例 //第一种类型接收int并返回字符串 Func<int, string> one = (p) => string.Format("{0}", p); // second type receives bool & long and returns string Func<bool, long, string> two = (q, p) => string.Format("{0} and {1}", q, p); // three type receives bool & int and returns string Func<bool, int, string> three = (q, p) => string.Format("{0} and {1}", q, p); //第四个类型接收十进制并返回字符串 Func<decimal, string> four = (p) => string.Format("{0}", p); Console.WriteLine(one.Invoke(25)); Console.WriteLine(two.Invoke(false, 76756566)); Console.WriteLine(three.Invoke(true, 50)); Console.WriteLine(four.Invoke(1.2m)); } } }
输出结果
25 False and 76756566 True and 50 1.2