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;
}

 

posted @ 2020-10-13 11:25  wangvans  阅读(135)  评论(0编辑  收藏  举报