您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)Linq中有哪些匿名委托類型,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
先來看一個LINQ示例:
using System; using System.Query; using System.Collections.Generic; class app ...{ static void Main() ...{ string[] names = ...{ "Burke", "Connor", "Frank", "Everett", "Albert", "George", "Harris", "David" }; IEnumerable expr = from s in names where s.Length == 5 orderby s select s.ToUpper(); foreach (string item in expr) Console.WriteLine(item); } }
編譯并運(yùn)行,將輸出:
◆BURKE
◆DAVID
◆FRANK
看吶!MS無疑給第三方ORM框架沉重一擊,LINQ可以方便且直觀地類SQL形式操縱IEnumerable集合和數(shù)據(jù)。更激動人心的是C#一貫的風(fēng)格,層層解構(gòu),LINQ語法可以用C#基本語法來解釋。支持LINQ,用到:
Linq匿名委托類型(方法/函數(shù))
C#2語法,省略委托類型定義。
◆Func:一種委托類型,一般用匿名委托賦值
◆擴(kuò)展表達(dá)式:含this指針的靜態(tài)類的靜態(tài)函數(shù),其中一個參數(shù)用this修飾,另一個參數(shù)是Func類型。可用實(shí)例方法的形式調(diào)用。一般用點(diǎn)操作符串聯(lián)調(diào)用。
◆λ表達(dá)式:Expression類可以解析λ表達(dá)式。匿名委托實(shí)例化的簡化形式,類似于這種形式:n=>n > 5;其中n是參數(shù)。
◆yield:例:yield return i,延遲返回計算結(jié)果。
◆對象設(shè)值實(shí)例化:命名屬性初始化,調(diào)用setter方法用命名參數(shù)初始化成員變量。用于實(shí)例ORM中對象屬性與字段名的映射。集合初始化也可用數(shù)組初始化語法。
◆匿名類型:引入var關(guān)鍵字,根據(jù)初始化表達(dá)式,編譯器智能判斷聲名的變量所屬類型,看起來越來越像腳本語言了。
看完上述內(nèi)容,你們對Linq中有哪些匿名委托類型有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。