lambda表達式和查詢表達式


  (1)Lambda表達式定義:

   Lambda是創建匿名函數的另一種形式。它比對應的匿名方法更加的簡化。因此,所有的情況都推薦使用Lambda表達式。

     它可以包括表達式和語句,並且用於創建委托和事件。

   Lambda表達式由輸入參數,Lambda運算符和表達式構成。它的語法如下:(wdd)=>wdds    wdd 表示輸入的參數。

    =>為運算符,wdds為表達式或者語句模塊。

        例1.下面創建一個Lambda表達式:m=>m*m;  分析:輸入參數m的值,然后計算出m的平方,並返回計算的結果。

      例2:創建一個Lambda表達式,並獲取該值:int n=(int m)=>m*m; 分析:輸入參數m,計算出m的平方,並把返回計算的結果賦值給n;

      參考代碼為:

        Class Program
          {
              delegate int delA(int m);

              static void Main(string[] args)
              {

          delA n= (m) => { return m*m; };
                  Console.WriteLine(e(2,3));

           Console.ReadKey();

          }

       }

 

       例3:創建一個Lambda表達式,並獲取該值:int n=(int m,int y)=>m*y; 分析:輸入參數m,y,計算出m和y的乘積,並把返回計算的結果賦值給n;

       參考代碼為:

        Class Program
          {
              delegate int delA(int m,int y);

              static void Main(string[] args)
              {

          delA n= (m,y) => { return m*y; };
                  Console.WriteLine(e(2,3));

           Console.ReadKey();

          }

 

       }

    多個Lambda表達式可以構成Lambda語句塊,語句塊可以放在運算符的右邊,作為Lambda的主體,根據主體不同,

    Lambda表達式可以分為:表達式Lambda和語句Lambda。語句模塊中可以包含多條語句,並且可以包括循環,方法

    調用和if語句等。

    如果Lambda運算符右邊是一個語句塊,則必須要有{和}包圍語句塊。

  (2)Lambda查詢表達式

    查詢表達式是一種查詢語法表示的表達式,它用於查詢和轉換來自任意支持LINQ的數據源中的數據。查詢表達式使用許多常見的

      C#語言構造,易讀簡潔,容易掌握。它由一組類似於SQL或者XQuery的聲明型語法編寫的字句組成,每一個字句可以包含一個或

      者多個C#表達式。這些表達式本身也可以是查詢表達式,或者包含表達式。

  • 查詢表達式必須以from字句開頭,以select或group 字句結束。
  • from字句:指定查詢操作的數據源和范圍變量
  • select字句:指定查詢結果的類型和表現形式。
  • where字句:指定篩選元素的邏輯條件。
  • let字句:引入用來保存查詢表達式中字句查詢結果的范圍變量
  • order by:對查詢字句進行排序操作 ,包括升序和降序。
  • group :對查詢結果進行分組。
  • into字句:提供一個臨時標識符,join字句,group字句或者select字句可以通過該標識符引用查詢操作中的中間結果。
  • join字句:用來連接多個查詢操作的數據源。

 


免責聲明!

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



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