C#中() =>是什么意思


C#中() =>是什么意思

如題C#中()=>是什么意思,比如publicICommandAddCommand{get{if(this.addCommand==null)this.addCommand=newRelayCommand(()=>this.AddPerson(),()=>this.CanAddPerson());returnthis...展開

 我來答 

分享

 舉報瀏覽 81529 次

7個回答

#星座# 巨蟹座以溫柔著稱,那么它的母性是天生的嗎?

Asherwdh 
來自百度知道認證團隊 2018-10-09

這是NET3.0以后的新特性 Lambda表達式 ,“Lambda 表達式”是一個匿名函數Lambda表達式基於數學中的λ演算得名,直接對應於其中的lambda抽象,是一個匿名函數,即沒有函數名的函數。Lambda表達式可以表示閉包(注意和數學傳統意義上的不同)。

擴展資料

關於Lambda表達式的使用方法

Lambda 用在基於方法的 LINQ 查詢中,作為諸如 Where 和 Where 等標准查詢運算符方法的參數。

使用基於方法的語法在 Enumerable 類中調用 Where 方法時(像在 LINQ to Objects 和 LINQ to XML 中那樣),參數是委托類型 System..::.Func<(Of <(T, TResult>)>)。使用 Lambda 表達式創建委托最為方便。

例如,當您在 System.Linq..::.Queryable 類中調用相同的方法時(像在 LINQ to SQL 中那樣),則參數類型是 System.Linq.Expressions..::.Expression<Func>,其中 Func 是包含至多五個輸入參數的任何 Func 委托。

同樣,Lambda 表達式只是一種用於構造表達式目錄樹的非常簡練的方式。盡管事實上通過 Lambda 創建的對象的類型是不同的,但 Lambda 使得 Where 調用看起來類似。

在前面的示例中,請注意委托簽名具有一個 int 類型的隱式類型輸入參數,並返回 int。可以將 Lambda 表達式轉換為該類型的委托,因為該表達式也具有一個輸入參數 (x),以及一個編譯器可隱式轉換為 int 類型的返回值。(以下幾節中將對類型推理進行詳細討論。)使用輸入參數 5 調用委托時,它將返回結果 25。

資料來源:百度百科:Lambda表達式


免責聲明!

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



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