LINQ中IEnumerable<T>接口主要成員簡介
IEnumerable<T>接口主要功能是提供了大量與查詢相關的方法,雖然這些方法實際上是以擴展方法的形式定義,但也不影響IEnumerable<T>接口的功能性。
1.IEnumerable<T>
IEnumerable<T>泛型接口支持在制定數據集合上進行迭代操作。它定義了一組擴展方法,用來對數據集合中的元素進行遍歷、過濾、排序、搜索等操作。在LINQ中,數據源實際上是實現了接口IEnumerable<T>
在.NET類庫中,IEnumerable<T>
IEnumerable
成員 |
功能 |
Aggregate | 對序列應用累加器函數,可以指定累加方法 |
Sum |
計算序列中所有元素的和,返回值有int、long、float、double、decimal類型,并且可以指定元素到數值的映射方法 |
Average |
計算序列中所有元素的平均值,返回值有int、long、float、double、decimal類型,并且可以指定元素到數值的映射方法 |
Max | 計算序列中所有元素的最大值,返回值有int、long、float、double、decimal類型,并且可以指定元素到數值的映射方法 |
Min | 計算序列中所有元素的最小值,返回值有int、long、float、double、decimal類型,并且可以指定元素到數值的映射方法 |
All | 檢查是否序列中所有元素都滿足條件,可以指定條件判斷方法。如果所有元素都滿足條件返回True,否則返回False |
Any | 檢查序列中是否有任何一個元素滿足條件,可以指定條件的判斷方法。如果有一個以上(含一個)元素滿足條件返回True,否則返回False |
Contains | 檢查數據系列中是否包含特定的元素,可以指定相等比較方法 |
Count | 返回序列中滿足指定條件的元素的數量,可以指定條件判斷方法 |
LongCount | 返回序列中滿足指定條件的元素的長數量,可以指定條件判斷方法 |
Cast | 將IEnumerable中的元素轉換為指定的數據類型 |
DefaultIfEmpty | 返回序列中指定位置的元素。如果序列為空,則返回默認的元素值 |
ElementAt | 返回序列中指定索引處的元素 |
ElementAtOrDefault | 返回序列中指定索引處的元素。如果序列為空,則返回默認值 |
First | 返回序列中滿足指定條件的第一個元素,可以指定條件判斷方法 |
FirstOrDefault | 返回序列中滿足指定條件的第一個元素。如果不存在則返回默認值,也可以指定條件判斷方法 |
Last | 返回序列中滿足指定條件的最后一個元素,可以指定條件判斷方法 |
LastOrDefault | 返回序列中滿足指定條件的最后一個元素。如果不存在則返回默認值,也可以指定條件判斷方法 |
Single | 返回序列中滿足指定條件的唯一元素。如果不止一個元素滿足條件會引發一場,可以指定條件判斷方法 |
SingleOrDefault | 返回序列中滿足指定條件的唯一元素。如果不存在則返回默認值,如果不止一個元素滿足條件會引發一場,可以指定條件判斷方法 |
Reverse | 反轉序列中元素的順序 |
Distinct | 返回序列中不重復的元素的集合,可以指定相等比較方法 |
Concat | 連接兩個序列,直接首尾相連。返回結果可能存在重復數據 |
Except | 獲取兩個元素集合的差集,可以指定相等比較方法 |
Intersect | 獲取兩個元素集合的交集,可以指定相等比較方法 |
Union | 獲取兩個元素集合的并集,可以指定相等比較方法 |
SequenceEqual |
比較兩個序列是否相等,可以指定相等比較方法 |
Where | 根據制定條件對集合中元素進行篩選,返回滿足條件的元素集合 |
Skip | 跳過序列中指定數量的元素,然后返回剩余的元素 |
SkipWhile | 跳過序列中滿足指定條件的元素,然后返回剩余的元素,可以指定條件判斷方法 |
Take | 從序列的開頭返回指定數量的連續元素 |
TakeWhile | 返回從序列開始的滿足指定條件的連續元素,可以指定條件判斷方法 |
ToArray | 從IEnumerable |
ToList | 從IEnumerable |
從上表可以看出,IEnumerable
注意:
IEnuerable
另外,IQuery
本文來自Kevin的博客園博文《IEnumerable
【編輯推薦】