您好,登錄后才能下訂單哦!
這篇文章主要講解了“Linq匿名類型有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linq匿名類型有哪些”吧!
LINQ使查詢成為了.NET中頭等的編程概念,被查詢的數據可以是XML(LINQ to XML)、Databases(LINQ to SQL、LINQ to Dataset、LINQ to Entities)和對象(LINQ to Objects)。LINQ也是可擴展的,允許你建立自定義的LINQ數據提供者(比如:LINQ to Amazon、LINQ to NHibernate、LINQ to LDAP)。在這里我會討論C#3.0中的一些新的語言特性和改進,正是它們使得LINQ變得如此強大~~
Linq匿名類型
這個語言特性讓我們可以定義內嵌的類型,而不需要顯式地定義一個類型。換句話說,假設我們沒有定義Point 類,卻要使用一個Point 對象(即類型是匿名的)。我們可以使用上面提到的對象初始化語法,但不用指定類型名:
var p = new{X = 0, Y = 2};
在VS2008中,你仍然可以使用智能感應。所以如果你繼續使用變量p,就會得到這個Linq匿名類型的屬性列表。
Lambda表達式
在 C#2.0中引入了匿名方法,允許在需要委托的地方寫一個代碼塊。Linq匿名類型提供了函數式程序語言的能力,語法顯得很簡潔。Lambda表達式提供了一個更簡潔的語法來寫匿名方法。一個Lambda表達式就是一個參數列表(可以隱式類型),然后是一個=>符號,然后是一個表達式或者一個語句塊。
作為一個示例,我們定義一個委托類型MyDeleg :
MyDeleg<int,bool> IsPositive = delegate(int num) { return num > 0; };
我們也可以使用新的Lambda表達式來寫:
MyDeleg<int ,bool> IsPositive = num => num > 0;
感謝各位的閱讀,以上就是“Linq匿名類型有哪些”的內容了,經過本文的學習后,相信大家對Linq匿名類型有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。