查询表达式
是一种用查询语法表示的表达式,由一组类似于SQL的语法编写的句子组成
每一个子句可以包括一个或多个C#表达式
LINQ查询表达式必须以from子句开头,并且必须以select或group子句结束,中间可以添加多个子句
LINQ查询表达式包含的子句
from子句:指定查询操作的数据源和范围变量
where子句:筛选元素的逻辑条件,返回值是一个bool类型
select子句:指定查询结果的类型和表现形式
orderby子句:对查询结果进行排序(升序或者降序)
group子句:对查询结果进行分组
into子句:提供一个临时标识符,该表示可充当对join/group/select子句结果的引用
join子句:连接多个查询操作的数据源
let子句:引入用于存储查询表达式中的子表达式结果的范围变量
from子句概述
LINQ查询表达式必须包括from子句,并且必须以from子句开头
from子句指定的数据源类型必须为IEnumerable,Ienumerable<T>或者两者的派生类(例如数组,List<T>,ArrayList等)
关于数据源
如果数据源是泛型类型,则编译器可以自动推断出范围变量的类型
如果数据源是非泛型类型,如ArrayList,则必须显示的指定范围变量的数据类型