Lambda拉姆達表達式


    剛開始接觸的時候感覺無從下手、茫然不解,不過沒有學不會的東西。

    通過幾個星期的學習,慢慢從中有所領悟。

    拉姆達表達式常用於委托。

    例如:

1     a => a.Equals("string"); 
2 //原形為:
3 (a) => { return a.Equals("string");}
4 //相當於equals函數:
5 public bool equals(string a)
6 {
7 return a.Equals("string");
8 }

 

    也就是說拉姆達表達式是匿名函數,簡單點就是函數。

    可這樣創建委托:

1     Func<string, bool> del = a => a.Equals("string");
2 Func<string, bool> del = (a) => { return a.Equals("string");}
3 Func<string, bool> del = equals;

 

    三者是等效的,=>左邊的a為傳入參數,就是equals(string a)中的a,“=>”右邊的是語句塊

    Func<string, bool>是Func<T, TResult>委托,T表示傳入參數的類型,可以是值類型、類等,TResult為返回的類型。

    例如:

1     Func<string, bool> del = equals;
2 //表示傳入的參數為string類型,返回類型為bool,使用的時候如這樣:
3 if(del("string"))Console.WriteLine("this is a string");
4 //結果輸出為:this is a string

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM