這篇文章主要講解了“Linq匿名類型有哪些”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Linq匿名類型有哪些”吧!
站在用戶的角度思考問題,與客戶深入溝通,找到饒河網(wǎng)站設(shè)計(jì)與饒河網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋饒河地區(qū)。
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ù)式程序語言的能力,語法顯得很簡(jiǎn)潔。Lambda表達(dá)式提供了一個(gè)更簡(jiǎn)潔的語法來寫匿名方法。一個(gè)Lambda表達(dá)式就是一個(gè)參數(shù)列表(可以隱式類型),然后是一個(gè)=>符號(hào),然后是一個(gè)表達(dá)式或者一個(gè)語句塊。
作為一個(gè)示例,我們定義一個(gè)委托類型MyDeleg :
MyDelegIsPositive = delegate(int num) { return num > 0; };
我們也可以使用新的Lambda表達(dá)式來寫:
MyDelegIsPositive = num => num > 0;
感謝各位的閱讀,以上就是“Linq匿名類型有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Linq匿名類型有哪些這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!