本文向大家介紹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查詢表達式提供了一個語言集成的語法來查詢,它特別像關系和層次查詢語言比如SQL和XQuery。使用LINQ操作符(也就是 from...where...select)寫查詢很方便,Visual Studio為它提供了很好的智能感知和編譯時的檢查支持。當C#編譯器遇到了一個LINQ查詢表達式時,實際上它會被轉化為使用擴展方法和Lambda 表達式的方法調用。
我們舉一個例子來解釋這個:
var result = from c in
Customers
where c.City.StartsWith("B")
orderby c.LastName
select new{ c.FirstName, c.LastName, c.Address };
//上面的代碼等價於:
var result = Customers.Where( c =
>
c.City.StartsWith("B") ).
OrderBy( c =
>
c.LastName).
Select( c =
>
new{ .FirstName,c.LastName, c.Address } );
使用查詢語法的好處還有它會使代碼更簡單更易讀。同時注意,LINQ查詢表達式以from 開頭,以select 或者group 結尾。