1. 程式人生 > >Linq 常用查詢操作符

Linq 常用查詢操作符

不同 blog temp reg descend 均值 esc 最大值 seq

限定操作:

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 常用查詢操作符