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