LINQFramework详细介绍

LINQ有很多值得学习的地方,这里我们主要介绍LINQ Framework,包括介绍LINQ To Object Framework等方面。

为下花园等地区用户提供了全套网页设计制作服务,及下花园网站建设行业解决方案。主营业务为做网站、成都网站制作、下花园网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

Microsoft于新一代的.NET Framework 3.5中增加了几个新功能,其中之一就是LINQ,与其它新功能不同,架构上,LINQ是一个Framework方式呈现,理论上可以使用于任何的.NET Language中,但她的真正威力必须要程式语言配合才能够完全的发挥。

LINQ Framework大致分为三大部份,各自因应不同的资料来源,LINQ To Object Framework用来对物件查询,LINQ To XML Framework用于查询XML物件,LINQ To ADO.NET Framework又可细分为三个子集:LINQ To DataSet Framework用来对DataTable、DataRow等物件做查询,LINQ To SQL Framework则用于对资料库的查询,LINQ To Entity Framework则是与ADO.NET Entity Framework整合。在LINQ Framwork之上的,是程式语言编译器所提供的LINQ Expression语法支援,如同前面所提及的,LINQ Framework本身是一组与程式语言无关的Framework,借助于编译器所提供的LINQ Expression支援,让设计师能更轻松的撰写LINQ应用程式。举例来说,在C#中可以用>from xxx in xxx where xxx == xxx<的LINQ Expression语法来取代对LINQ To Object Framework的函式呼叫>xxx.Where(..)<,此处的Where函式是LINQ To Object Framework所提供的,下文会对此有更详细的介绍。基本上,语言编译器有义务对于如LINQ To Object、LINQ To XML、LINQ To ADO.NET提供一致性的LINQ Expression语法规则,这可以让设计师只学习一种语法,就能应用于不同的语言中。 LINQ的出现,代表着程式语言将走向下一个阶段,正如其全名『Language Integrated Query』所表现的意义,程式语言将与查询语言整合,为设计师提供更快速、方便的查询功能,更甚之! LINQ中的LINQ To SQL功能正试图整合各资料库厂商所各自为政的SQL语言,其架构中的LINQ Provider机制,允许设计师为不同的资料库撰写Provider,将LINQ的语法转换成该资料库所能接受的语法

LINQ架构中分成了三大部份,LINQ To Object、LINQ TO ADO.NET、LINQ TO XML,因此本系列文章也分成了三个阶段,在此阶段中,笔者将以LINQ To Object Framework为主轴,为读者们介绍其基本用法,与其它的文章不同,本文同时会尝试讨论LINQ To Object Framework的幕后机制,将LINQ To Object Framework身上所被的简洁外衣去除,让读者们一窥其设计之巧妙之处,首先从一个简单的LINQ To Object Framework程式开始。

 
 
 
  1. private static void TestSimpleLinq() {  
  2. string[] list = new string[] { "1111", "2222", "3333" };  
  3. var p = from o in list select o;  
  4. foreach (var s in p)  
  5. Console.WriteLine(s);  

程式码中,斜体字部份就是C#所提供的LINQ Expression语法,意思是从list这个字串阵列中,取出一个列举物件(IEnumerable),放到p变数中,读者们应该已发觉到, p变数是以var方式宣告的,var是C# 3.0的新关键字,意指其型态是由右方运算式所指定,本文后面会详述其用法及限制,在此处,请将她视为是由编译器依据右方运算式的传回值所决议的型别。

当前题目:LINQFramework详细介绍
文章来源:http://www.hantingmc.com/qtweb/news8/309008.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联