小編給大家分享一下Linq Library的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)是一家專業(yè)提供江干企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為江干眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
PDC 05上揭露了C# 3.0及Linq Project,什么是Linq呢?簡單的說,Linq是一個(gè)語言層級(jí)的查詢語法Library,她可以讓我們以類SQL語法的方式來查詢語言中的變數(shù),例如陣列,Collections.以實(shí)例來說:
static void ObjectQuery() { var people = new List () { new Person { Age=12, Name="Bob" }, new Person { Age=18, Name="Cindy" }, new Person { Age=13 } }; var teenagers = from p in people where p.Age > 12 && p.Age < 20 select p; Console.WriteLine("Result:"); foreach(var val in teenagers) { Console.WriteLine("> Name = {0}, Age = {1}", val.Name, val.Age); } Console.ReadLine();} class Person { public int Age; public string Name; }
Person是一個(gè)類別,ObjectQuery函式中以Generic List建立了一個(gè)Person的Collection,此處的var型別是C# 3.0新增的型別,從語言面來看,這個(gè)型別可以被指定為任何型別,就像是Variant一樣,從Complier面來看,它是一個(gè)Lazy- determine型別,由Complier于編譯期間來決定真正的型別,接下來的奇特語法就是Linq.
var teenagers = from p in people where p.Age > 12 && p.Age < 20 select p;
是不是覺得很像SQL呢?這段程式碼的意思是,由people中選出Age大于12小于20的元素,除了這種簡單的查詢之外,Linq也支援Join,Distinct等語法.
基本上Linq只是一組Library,C# 3.0及VB.NET 9.0的Complier利用了這個(gè)Library來實(shí)現(xiàn)上面的新語法,所有的特殊語法都會(huì)被編譯器編成使用Linq Library的程式.
以上是“Linq Library的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!