一、Linq基础
1.Linq(语言集成查询)可以理解为直接嵌入到C#语法中的强类型查询语言,使用Linq,可以在程序中构建与数据库SQL类似的查询表达式,Linq查询可以用于多种数据存储,甚至与关系型数据库完全无关的存储;
2.Linq API的意图是提供一种统一且对称的方式,让程序员在广义的数据上得到和操作“数据”,他可以与许多数据类型交互;
3.根据Linq查询应用的场景,可以分为以下几个部分:
a.Linq to Object:针对数组和集合使用的Linq查询;
b.Linq to XML:使用Linq来操作和查询XML文档;
c.Linq to Dataset:针对ADO.NET Dataset对象使用的Linq查询;
d.Linq to Entities:针对ADO.NET Entity Framework(EF)API使用的Linq查询;
e.Parallel Linq(PLINQ):并行处理Linq查询返回的数据;
4.Linq表达式是强类型的;
5.延迟执行:Linq表达式在我们进行迭代之前,他们不会进行真正的运算。这样的好处在于对于相同的容器,可以多次运用相同的Linq查询,而始终获得最新的最好的查询结果;
6.也可以通过其他的方式来让Linq查询立即执行
7.对于没有实现IEnumerable<T>接口的集合不能使用Linq查询,这时可以使用ofType<T>()方法
ArrayList arrayList = new ArrayList();
arrayList.Add(1);
arrayList.Add(3);
var iList = arrayList.OfType<int>();
var iResult = from i in iList
select i;
二、Linq查询操作符
1.C#提供的Linq查询操作符
2.Linq查询表达式在底层的表示