码迷,mamicode.com
首页 > 其他好文 > 详细

LINQ

时间:2016-07-08 10:22:26      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

查询表达式(LINQ)简介

 

1LINQLanguage Integrated Query的简称,它是集成在.NET编程语言中的一种特性。

2LINQ包括五个部分:LINQ to ObjectsLINQ to DataSetsLINQ to SQLLINQ to EntitiesLINQ to XMLLINQ to SQL全称基于关系数据的.NET语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能。LINQ to XMLSystem.Xml.LINQ命名空间下实现对XML的操作。采用高效、易用、内存中的XML工具在宿主编程语言中提供XPath/XQuery功能等。

3、扩展方法本质上是一个静态方法,不同之处在于它的第一个参数必须有this关键字声明,并且第一个参数的类型即为要扩展的类型。扩展方法可以在不修改现有类的情况下,为现有类增加公共的接口(不是C#中的interface)。定义扩展方法需要注意,只能在静态类中定义并且是静态方法,如果扩展方法名和原有方法名发生冲突,那么扩展方法将失效。

4Lambda表达式:

    (参数列表) =>{语句块;}    或者

  ( 参数列表) =>表达式

当参数列表中只有一个参数的时候,圆括号可以省略

5、Var:隐式类型化变量:使用与可以由编译器推导出的变量的声明,不需要显式指定对象的类型。注意var只是省下了显式声明的过程,而C#本身就是静态语言,所以var所声明的变量的类型已经确定任然是不能改变的,亦即,var并非是变体类型。

6、只要是实现了IEnumerable<T>的对象都可以使用Linq的语法来查询。

7、在C#3.0中,为Linq引入了一些新的关键字,from join where group into let orderby select

8、Linq查询的执行结果是IEnumerable<T>类型,而对IEnumerable<T>,在内部,C#通过yield关键字实现迭代器达到延迟加载的目的。从而使Linq查询只是在需要的时候才会被执行。但是,某一些扩展方法在执行时会试图遍历整个容器,从而使延迟加载无效,如排序,聚合函数(CountSumAverage等。)。

 

LINQ

标签:

原文地址:http://www.cnblogs.com/xiangyueqiaomai/p/5652345.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!