Linq的一些操作符-图表展示
对数据进行排序
方法名 | 说明 |
OrderBy | 按升序对值进行排序。 |
OrderByDescending | 按降序对值进行排序。 |
ThenBy | 按升序执行次要排序。 |
ThenByDescending | 按降序执行次要排序。 |
Reverse | 颠倒集合中的元素的顺序。 |
Set 运算
Distinct
Except
Intersect
Union
方法名 | 说明 |
Distinct | 从集合移除重复值。 |
Except | 返回差集,差集是指位于一个集合但不位于另一个集合的元素。 |
Intersect | 返回交集,交集是指同时出现在两个集合中的元素。 |
Union | 返回并集,并集是指位于两个集合中任一集合的唯一的元素。 |
Filtering Data
方法名 | 说明 |
OfType | 根据值强制转换为指定类型的能力选择值。 |
Where | 选择基于谓词函数的值。 |
限定符操作
方法名 | 说明 |
All | 确定是否序列中的所有元素都满足条件。 |
Any | 确定序列中是否有元素满足条件。 |
Contains | 确定序列是否包含指定的元素。 |
数据分区
运算符名称 | 说明 |
Skip | 跳过序列中的指定位置之前的元素。 |
SkipWhile | 基于谓词函数跳过元素,直到某元素不再满足条件。 |
Take | 提取序列中的指定位置之前的元素。 |
TakeWhile | 基于谓词函数提取元素,直到某元素不再满足条件。 |
联接运算
方法名 | 说明 |
Join | 根据键选择器函数联接两个序列并提取值对。 |
GroupJoin | 根据键选择器函数联接两个序列,并对每个元素的结果匹配项进行分组。 |
数据分组
方法名 | 说明 |
GroupBy | 对共享公共属性的元素进行分组。每个组都由一个 IGrouping<TKey, TElement>对象表示。 |
ToLookup | 根据键选择器函数将元素插入到 Lookup<TKey, TElement> (一个一对多字典)中。 |
生成操作
方法名 | 说明 |
DefaultIfEmpty | 将空集合替换为具有默认值的单一实例集合。 |
Empty | 返回空集合。 |
Range | 生成包含数字序列的集合。 |
Repeat | 生成包含一个重复值的集合。 |
元素操作
方法名 | 说明 |
ElementAt | 返回集合中指定索引处的元素。 |
ElementAtOrDefault | 返回集合中指定索引处的元素;如果索引超出范围,则返回默认值。 |
First | 返回集合中的第一个元素或满足条件的第一个元素。 |
FirstOrDefault | 返回集合中的第一个元素或满足条件的第一个元素。如果没有这样的元素,则返回默认值。 |
Last | 返回集合中的最后一个元素或满足条件的最后一个元素。 |
LastOrDefault | 返回集合中的最后一个元素或满足条件的最后一个元素。如果没有这样的元素,则返回默认值。 |
Single | 返回集合中的唯一元素或满足条件的唯一元素。 |
SingleOrDefault | 返回集合中的唯一元素或满足条件的唯一元素。如果没有这样的元素或集合不是正好包含一个元素,则返回默认值。 |
Converting Data Types
方法名 | 说明 |
AsEnumerable | 返回类型为 IEnumerable< T> 的输入。 |
AsQueryable | 将(泛型) IEnumerable 转换为(泛型) IQueryable。 |
Cast | 将集合的元素强制转换为指定类型。 |
OfType | 根据值强制转换为指定类型的能力筛选值。 |
ToArray | 将集合转换为数组。此方法强制执行查询。 |
ToDictionary | 根据键选择器函数将元素放入 Dictionary< TKey, TValue> 中。 此方法强制执行查询。 |
ToList | 将集合转换为 List<T> 。 此方法强制执行查询。 |
ToLookup | 根据键选择器函数将元素放入 Lookup< TKey, TElement> (一对多字典)中。 此方法强制执行查询。 |
串联运算
方法名 | 说明 |
Concat | 串联两个序列以组成一个序列。 |
聚合操作
方法名 | 说明 |
Aggregate | 对集合值执行自定义聚合运算。 |
Average | 计算值集合的平均值。 |
Count | 对集合中的元素进行计数,还可以仅对满足某一谓词函数的元素进行计数。 |
LongCount | 对大型集合中的元素进行计数,还可以仅对满足某一谓词函数的元素进行计数。 |
Max | 确定集合中的最大值。 |
Min | 确定集合中的最小值。 |
Sum | 计算集合中值的总和。 |