LINQ

一、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查询立即执行

LINQ_第1张图片

7.对于没有实现IEnumerable接口的集合不能使用Linq查询,这时可以使用ofType()方法

            ArrayList arrayList = new ArrayList();
           arrayList.Add(1);
           arrayList.Add(3);
           var iList = arrayList.OfType();
           var iResult = from i in iList
                       select i;

二、Linq查询操作符

1.C#提供的Linq查询操作符

LINQ_第2张图片
2.Linq查询表达式在底层的表示

LINQ_第3张图片

你可能感兴趣的:(C#基础)