前面两篇LINQ的介绍算是向大家说明了什么是LINQ和LINQ的基本操作,今天给大家介绍一下LINQ to Object查询,LINQ支持的数据类型是只要继承了IEnumerable和IEnumerable<T>的类型,下面有两个例子,一个是用来查询XML的,一个是用来查询数组的(工程文件为上两篇中的LINQDEMO)。
XML:
先建立一个XML文件,内容如下:
<?xml version="1.0" encoding="utf-8" ?> <XMLFile> <temp> <name>test1</name> <value>this is the first</value> </temp> <temp> <name>test2</name> <value>this is the second</value> </temp> <temp> <name>test3</name> <value>this is the third</value> </temp> <temp> <name>test4</name> <value>this is the fourth</value> </temp> <temp> <name>test5</name> <value>this is the fifth</value> </temp> </XMLFile>
保存,再编写查询代码:
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Xml; publicpartialclass LINQtoXML : System.Web.UI.Page ...{ protectedvoid Page_Load(object sender, EventArgs e) ...{ XDocument xml = XDocument.Load(Server.MapPath("XMLFile.xml")); var xmlfile = from x in xml.Descendants("temp") select new ...{ name = x.Element("name").Value, value = x.Element("value").Value }; this.GridView1.DataSource = xmlfile; this.GridView1.DataBind(); } }
数组查询
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; publicpartialclass LINQtoObject : System.Web.UI.Page ...{ protectedvoid Page_Load(object sender, EventArgs e) ...{ int[] array =newint[] ...{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; var arrayQuery = from a in array where (a %2) !=0 select a; this.GridView1.DataSource = arrayQuery; this.GridView1.DataBind(); } }
前面两篇LINQ的介绍算是向大家说明了什么是LINQ和LINQ的基本操作,今天给大家介绍一下LINQ to Object查询,LINQ支持的数据类型是只要继承了IEnumerable和IEnumerable的类型,下面有两个例子,一个是用来查询XML的,一个是用来查询数组的(工程文件为上两篇中的LINQDEMO)。XML:先建立一个XML文件,内容如下: xml