Action<>和Func<>区别
委托写法
//普通委托 public delegate void myDelegate(string str); //Delegate委托调用。 myDelegate mydelegate = new myDelegate(SayHello); mydelegate("Alan"); //测试方法 public static void SayHello(string name) { Console.WriteLine("Hello,"+name); Console.ReadLine(); }
Action<>指定那些只能输入参数,没有返回值的委托。
Action<string> action = SayHello; //Action<string>中string为参数类型。 action("Alan"); //测试方法 public static void SayHello(string name) { Console.WriteLine("Hello,"+name); Console.ReadLine(); }
Func<>使用方法和Action<>相似,区别是这个 有返回值。
Func<string,string> func=SayHello; //Func<>中参数前面都是方法所传参数类型,只有最后一个类型为委托返回 类型。 Console.WriteLine(func("Alan")); //测试方法。 public static string SayHello(string name) { return "Hello," + name; }