expression< func< t>>> vs. func< t>:何時使用表達式樹
> 儘管了解了lambda表達式,諸如func and Action之類的代表以及一般表達方式,也可能有時可能會使用表達式< func< t> t> t> t> t> ; >提出問題。為了闡明其目的,請考慮何時表達式< func< t>>當表達樹播放時,可能比標準的func< t>。當將lambda表達式視為表達樹時,特別有用,提供了一種不執行的方法來檢查其構圖。一個典型的示例是LINQ到SQL框架,該框架將表達式轉換為其等效的SQL語句,並將其發送到數據庫中以執行。 >>了解表達式和lt; func< t> gt; gt;和func< t>。 func< t>代表指出方法,表達式< func< t> gt; gt;表示描述lambda表達式的樹結構。該樹傳達了有關lambda組成的信息,包括變量,方法調用和常數,而無需實際執行任何代碼。
>示例:表達樹與編譯方法
考慮以下示例:
myFunc將編譯為IL方法,該方法不採用參數並返回值10。
相反:
Func<int> myFunc = () => 10; // Equivalent to anonymous method: int myAnonMethod() { return 10; }
以上是表達與彈性:您什麼時候應該使用表達式樹?的詳細內容。更多資訊請關注PHP中文網其他相關文章!