C#中的Action和Func 区别

Action只能委托必须是无返回值的方法

Fun只是委托必须有返回值的方法

 

一、【action<>】指定那些只有输入参数,没有返回值的委托

Delegate的代码:

public delegate void myDelegate(string str);
public static void HellowChinese(string strChinese)
{
  Console.WriteLine("Good morning," + strChinese);
  Console.ReadLine();
}
myDelegate d = new myDelegate(HellowChinese);
d("Mr wang");

 

用了Action之后呢:

 

public static void HellowChinese(string strChinese)
{
Console.WriteLine("Good morning," + strChinese);
Console.ReadLine();
}

Action<string> action = HellowChinese;
action("Spring.");

 


就是相当于省去了定义委托的步骤了。

 

二、func<> 这个和上面的那个是一样的,区别是这个有返回值!

public static string HelloEnglish(string strEnglish)
{
return "Hello." + strEnglish;
}

Func<string, string> f = HelloEnglish;
Console.WriteLine(f("Srping ji"));
Console.ReadLine();

 

---------------------  
原文:https://blog.csdn.net/jcx5083761/article/details/8552627  

posted @ 2019-02-22 15:15  巴蒂尔  阅读(1340)  评论(0编辑  收藏  举报