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
|
ToLookup |
根據鍵選擇器函數將元素插入到 Lookup
|
生成操作
方法名 |
說明 |
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
|
ToLookup |
根據鍵選擇器函數將元素放入 Lookup< TKey, TElement> (一對多字典)中。 此方法強制執行查詢。 |
串聯運算
方法名 |
說明 |
Concat |
串聯兩個序列以組成一個序列。 |
聚合操作
方法名 |
說明 |
Aggregate |
對集合值執行自定義聚合運算。 |
Average |
計算值集合的平均值。 |
Count |
對集合中的元素進行計數,還可以僅對滿足某一謂詞函數的元素進行計數。 |
LongCount |
對大型集合中的元素進行計數,還可以僅對滿足某一謂詞函數的元素進行計數。 |
Max |
確定集合中的最大值。 |
Min |
確定集合中的最小值。 |
Sum |
計算集合中值的總和。 |