什么是LINQ?
LINQ是语言集成查询,可以为C#和VISUAL BASIC提供强大的查询功能。LINQ引入了标准的、易于学习的查询和更新数据模式,可以对其技术进行扩展以支持几乎任何类型的数据存储。VS2015包含LINQ提供程序的程序集,这些程序集支持将LINQ与.NET Framework集合、SQL Server数据库、ADO.NET数据集和XML文档一起使用,在对象和数据领域之间架起了一座桥梁。
LINQ的组成
LINQ主要由3部分组成:LINQ to ADO.NET、LINQ to Objects和LINQ to XML。其中LINQ to ADO.NET可以分成两个部分:LINQ to SQL和LINQ to DataSet。
LINQ to SQL组件,可以查询基于关系数据库的数据,并对这些数据进行检索、插入、修改、删除、排序、聚合、分区等操作。
LINQ to DataSet组件,可以查询DataSet对象中的数据,并对这些数据进行检索、过滤、排序等操作。
LINQ to Objects组件,可以查询Ienumerable或Ienumerable<T>集合,也就是可以查询任何可枚举的集合,如数据Array和ArrayList,泛型列表List<T>以及用户自定义的集合。
LINQ to XML组件,可以查询或操作XML结构的数据,如XML文档等,并提供了修改文档对象模型的内存文档和支持LINQ查询表达式等功能,以及处理XML文档的全新的编程接口。
var关键字的使用方法
如果要声明一个变量,必须要指定变量的类型,但使用关键字var来声明,可以不明确指定其数据类型。var关键字用来创建隐型局部变量,它指示编译器根据初始化语句右侧的表达式来推断变量的类型。
列如,要定义一个隐型局部变量,并赋值为2018。
var number=2018;
使用隐型变量时,需要遵循的规则。
1.只有在同一语句中声明和初始化局部变量时,才能使用var,不能将初始化值设置为null。
2.不能将var用于类范围的域。
3.由var声明的变量不能用在初始化表达式中,列如var v=v++;
4.不能再同一语句中初始化多个隐式类型的变量。
5.如果一个名为var的类型位于范围中,当尝试用var关键字初始化局部变量时,将产生编译错误。
LINQ查询表达式子句及说明
子句 | 说明 |
from | 指定数据源和范围变量 |
select | 指定当执行查询时返回的序列中的元素将具有的类型和形式 |
group | 按照指定的键值对查询结果进行分组 |
where | 根据一个或多个由逻辑“与”和逻辑“或”运算符&&、||,分隔的布尔表达式筛选源元素 |
orderby | 基于元素类型的默认比较器按升序或降序对查询结果进行排序 |
join | 基于两个指定匹配条件之间的相等比较来连接两个数据源 |
let | 引入一个用于存储查询表达式中的子表达式结果的范围变量 |
into | 提供一个标识符,可以充当对join、group、select子句的结果的引用 |