1、LINQ查询
LINQ查询是一种从数据源检索数据的表达,在开发中使用很广泛。LINQ全称为语言查询集成(Language Integrated Qery),提供了一种跨数据源和数据结构的统一模型实现查询。LINQ关键字:from、where、select、group、into(提供一个表示符,它可以充当对join、group或select字句结果的引用)、orderby、join(按照两个指定匹配条件对等连接两个数据源)、let(产生一个用于存储表达式查询结果的范围变量)
语法:
From [type] id in source
[join [type] id in source on expr equals expr [into subGroup]]
[from [type] id in source|let id=expr | where condition]
[orderby ordering,ordering,ordering,ordering...]
select select expr | group expr by key
[into id query]
tips:type是可选的,id是数据源集合中的一项,source是数据源集合,expr表示一个表达式,subGroup是一个临时变量,继承自IGroup,代表一个分组。可以通过此变量得到该组包含的对象个数(count),以及改组对象的键(key)。where字句知道查询条件,orderby排序,一个LINQ语句必须以select 或group by结束。select是要检索的内容,group by 是对查询结果进行分组。into主要是把前面语句的结果作为后面语句操作的数据源。
此外,IEnumberable接口是LINQ查询的核心接口,只有实现了IEnumberable接口的数据源,才能执行相关的LINQ操作。LINQ查询有以下三个步骤:1、获取数据源。2、创建查询。3、执行查询。
2、Lambda表达式
Lambda表达式是一个匿名方法。语法:形参列表=>方法体。“=>”运算符具有与“=”相同的优先级,并且是右结合性运算符。 Lambda表达式规则有三个:
1、 Lambda包含的参数数量必须与委托类型包含的参数数量相同。
2、每个输入参数必须都能够隐式转换为其对应的委托参数。
3、返回值(如果有)必须能够够转换为委托的返回类型。