Linq是language integrated query的缩写,即“语言集成查询”之意。
Linq主要包含四个组件,Linq to object、Linq to XML、Linq to Dataset和Linq to SQL。本文仅涉及前两个。
代码示例:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Linq; namespace Linq { class Program { static void Main(string[] args) { //初始化要查询的数据 List<int> inputArray = new List<int>(); for (int i = 0; i < 10; i++) { inputArray.Add(i); } Console.WriteLine("使用Linq方法来对集合对象查询,查询结果为:"); LinqQuery(inputArray); Console.WriteLine("\n\r使用Linq方法来查询xml:\n"); LinqToXML(); Console.ReadKey(); } //使用linq返回集合中为偶数的元素 private static void LinqQuery(List<int> collection) { var queryResult = from item in collection where item % 2 == 0 || item == 3//组合查询条件 orderby item descending//倒序排序 select item; //输出结果 foreach (var item in queryResult) { Console.WriteLine(item.ToString() + " "); } } //初始化xml数据 private static string xmlstring = @"<books> <book> <author>Jack Herrington</author> <title>PHP Hacks</title> <publisher>O‘Reilly</publisher> </book> <book> <author>Jack Herrington</author> <title>Podcasting Hacks</title> <publisher>O‘Reilly</publisher> </book> <book> <author>藏锋</author> <title>深入在线工具</title> <publisher>啦啦啦出版社</publisher> </book> </books>"; /// <summary> /// 使用Linq对XML文件进行查询 /// </summary> private static void LinqToXML() { //导入xml XElement xmlDoc = XElement.Parse(xmlstring); //创建查询,获取作者为“王小为”的元素 var queryResult = from element in xmlDoc.Elements("book") where element.Element("author").Value == "藏锋" select element; //输出查询结果 foreach (var item in queryResult) { Console.WriteLine("书名:" + item.Element("title").Value + " 作者:" + item.Element("author").Value + " 出版社:" + item.Element("publisher").Value); } } } }
执行结果:
时间: 2024-12-13 15:03:40