本篇文章给大家分享的是有关如何实现LINQ查询语句,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
实现LINQ查询语句有三个步骤,他们分别是获取数据源(任何查询的必备工作)、创建查询、执行查询。小编就从这三个方面对实现LINQ查询语句做简单的介绍。
示例:
class IntroToLINQ { static void Main() { //获取数据源(此处由一个数组充当) int[] numbers = new int[7]{0,1,2,3,4,5,6}; //创建查询(numQuery 是 IEnumerable 类型) var numQuery = from num in numbers where (num%2) == 0 select num; // 执行查询 foreach(int num in numQuery) { Console.write("{0,1}",num); } } }
实现LINQ查询语句之数据源:
上面示例中,数据源是一个数组,隐式支持泛型IEnumerable(T)接口,而支持IEnumerable(T)或派生接口的类型称为"可查询类型"。因此数组即可用LINQ进行查询。
如果数据源还没有作为可查询类型出现在内存中,则LINQ提供程序必须以此方式表示数据源。例如,LINQ to XML将 xml文档加载到可查询的XElement类型中:
using System.Xml.Linq XElement contacts = XElement.Load(@"c:\my.xml");//XElement 表示一个xml元素
在LINQ to SQL 中,必须先创建对象关系映射,然后针对这些对象编写查询。LINQ会处理对象查询与数据库间的通信。
using System.Data.Linq; DataContext db = new DataContext(@"c:\northwind.mdf");
实现LINQ查询语句之创建查询:
查询要先存储在查询变量中,并用查询表达式进行初始化。这个查询变量不执行任何操作也不返回数据,只有在执行查询时用来存储为生成结果而必须的信息。
实现LINQ查询语句之执行查询:
上例中使用foreach的地方就是检索查询结果的地方,它在创建后才执行,因此称为延迟执行,num保存返回的值。
当需要用到聚合函数查询时,则是强制立即执行
var numQuery = from num in numbers where (num%2) == 0 select num; int evenNumCount = evenNumCount.Count();
若普通查询也要立即执行,可以在查询语句后调用ToList()或ToArray()方法。
以上就是如何实现LINQ查询语句,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。