Linq 常用查询操作符

Posted 浩叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

以上是关于Linq 常用查询操作符的主要内容,如果未能解决你的问题,请参考以下文章

LINQ查询操作符

Linq标准查询操作符

Linq 常用查询操作符

(转)Linq-查询操作符之SelectWhereOrderByOrderByDescending

Linq to Object之非延迟标准查询操作符

LINQ查询操作符