溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linq匿名類型有哪些

發(fā)布時(shí)間:2021-12-01 16:12:20 來源:億速云 閱讀:106 作者:iii 欄目:編程語言

這篇文章主要講解了“Linq匿名類型有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Linq匿名類型有哪些”吧!

LINQ使查詢成為了.NET中頭等的編程概念,被查詢的數(shù)據(jù)可以是XML(LINQ to XML)、Databases(LINQ to SQL、LINQ to Dataset、LINQ to Entities)和對(duì)象(LINQ to Objects)。LINQ也是可擴(kuò)展的,允許你建立自定義的LINQ數(shù)據(jù)提供者(比如:LINQ to Amazon、LINQ to NHibernate、LINQ to LDAP)。在這里我會(huì)討論C#3.0中的一些新的語言特性和改進(jìn),正是它們使得LINQ變得如此強(qiáng)大~~

Linq匿名類型

這個(gè)語言特性讓我們可以定義內(nèi)嵌的類型,而不需要顯式地定義一個(gè)類型。換句話說,假設(shè)我們沒有定義Point 類,卻要使用一個(gè)Point 對(duì)象(即類型是匿名的)。我們可以使用上面提到的對(duì)象初始化語法,但不用指定類型名:

var p = new{X = 0, Y = 2};

在VS2008中,你仍然可以使用智能感應(yīng)。所以如果你繼續(xù)使用變量p,就會(huì)得到這個(gè)Linq匿名類型的屬性列表。

Lambda表達(dá)式

在 C#2.0中引入了匿名方法,允許在需要委托的地方寫一個(gè)代碼塊。Linq匿名類型提供了函數(shù)式程序語言的能力,語法顯得很簡潔。Lambda表達(dá)式提供了一個(gè)更簡潔的語法來寫匿名方法。一個(gè)Lambda表達(dá)式就是一個(gè)參數(shù)列表(可以隱式類型),然后是一個(gè)=>符號(hào),然后是一個(gè)表達(dá)式或者一個(gè)語句塊。

作為一個(gè)示例,我們定義一個(gè)委托類型MyDeleg :

MyDeleg<int,bool>   IsPositive = delegate(int num) {   return num > 0;   };

我們也可以使用新的Lambda表達(dá)式來寫:

MyDeleg<int ,bool> IsPositive = num => num > 0;

感謝各位的閱讀,以上就是“Linq匿名類型有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Linq匿名類型有哪些這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI