C# Linq 常用查询操作符
限定操作:
1. All:用来确定是否序列中的所有元素都满足条件
2. Any:用来确定序列是否包含任何元素,有参方式用来确定序列中是否有元素满足条件
3. Contains:方法用来确定序列是否包含满足指定条件的元素
排序:
1. OrderBy:将序列中的元素按照升序排列
2. ThenBy:实现按照次关键字对序列进行升序排列(二级排序)
3. OrderByDescending:将序列中的元素按照降序排列
4. ThenByDescending:实现按照次关键字对序列进行降序排列(二级排序)
5. Reverse:对集合反向排序
分区操作:
1. Skip:跳过集合的前n个元素
2. SkipWhile:直到某一条件成立就停止跳过
3. Take:获取集合的前n个元素
4. TakeWhile:直到某一条件成立就停止获取
聚合操作:
1. Aggregate:对集合值执行自定义聚合运算。例如:把所有值按某个符号间隔输出
2. Average:求集合中元素的平均值,返回值类型double
3. Count:求集合中元素的个数,返回值类型Int32
4. LongCount:求集合中元素的个数,返回值类型Int64
5. Max:求集合中元素的最大值
6. Min:求集合中元素的最小值
7. Sum:求集合中元素的和
集合操作:
1. Distinct:过滤集合中的相同项
2. Union:连接不同集合,自动过滤相同项
3. Concat:连接不同集合,不会自动过滤相同项
4. Intersect:获取不同集合的相同项(交集)
5. Except:从某集合中删除其与另一个集合中相同的项
6. SequenceEqual:判断两个序列是否相等。相等,返回true,否则返回false
元素操作符:
1. Single:返回序列中的唯一一条记录,如果没有或返回多条,则引发异常
2. SingleOrDefault:返回序列中的唯一一条记录,如果序列中不包含任何记录,则返回默认值,如果返回多条,则引发异常
3. First:取序列中满足条件的第一个元素,如果没有元素满足条件,则抛出异常
4. FirstOrDefault:取序列中满足条件的第一个元素,如果没有元素满足条件,则返回默认值(null)
5. ElementAt:返回序列中指定索引处的元素。如果索引超出范围会导致异常
6. ElementAtOrDefault:返回序列中指定索引处的元素;如果索引超出范围,则返回默认值
生成操作:
1. Empty:将返回一个指定类型的空集合,例:var str = Enumerable.Empty<string>();
2. DefaultIfEmpty:将空集合替换为具有默认值的单一实例集合。DefaultIfEmpty方法需要两个参数,第一个参数是一个泛型集合,第二个参数是相应类型的单个元素,如果第一个参数中不含有任何元素,它将返回第二个参数指定的单个元素
3. Range:用于生成指定范围内的整数的序列,例:var temp = Enumerable.Range(0, 10);
4. Repeat:用于生成包含一个重复值的集合,例:var temp = Enumerable.Repeat(0, 10);