C#中的Action和Func

 

一、【action<>】指定那些只有輸入參數,沒有返回值的委託

Delegate的代碼:

1.  public delegate void myDelegate(string str);  

2.  public static void HellowChinese(string strChinese)  

3.  {  

4.      Console.WriteLine("Good morning," + strChinese);  

5.      Console.ReadLine();  

6.  }  

7.    

8.  myDelegate d = new myDelegate(HellowChinese);  

9.  d("Mr wang");  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之後呢:

1.  public static void HellowChinese(string strChinese)  

2.  {  

3.      Console.WriteLine("Good morning," + strChinese);  

4.      Console.ReadLine();  

5.  } 

6.   Action<string> action = HellowChinese;  

7.  action("Spring.");  

public static void HellowChinese(string strChinese)

{

  Console.WriteLine("Good morning," + strChinese);

  Console.ReadLine();

}

 

Action<string> action = HellowChinese;

action("Spring.");

就是相當於省去了定義委託的步驟了。

二、func<> 這個和上面的那個是一樣的,區別是這個有返回值!

1.  public static string HelloEnglish(string strEnglish)  

2.  {  

3.      return "Hello." + strEnglish;  

4.  }  

5.  Func<string, string> f = HelloEnglish;  

6.  Console.WriteLine(f("Srping ji"));  

7.  Console.ReadLine();  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章