匯出 (0) 列印
全部展開
本文章是由機器翻譯。 將指標移到文章內的文字上方即可查看原文。 其他資訊。
譯文
原文

Enumerable.GroupBy<TSource, TKey, TElement> 方法 (IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)

依據索引鍵選取器函式來群組序列中的項目。 索引鍵是使用比較子來進行比較,而每個群組的項目都是利用指定的函式進行投影。

命名空間:  System.Linq
組件:  System.Core (在 System.Core.dll 中)

public static IEnumerable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>(
	this IEnumerable<TSource> source,
	Func<TSource, TKey> keySelector,
	Func<TSource, TElement> elementSelector,
	IEqualityComparer<TKey> comparer
)

類型參數

TSource

source 之項目的型別。

TKey

keySelector 所傳回之索引鍵的型別。

TElement

IGrouping<TKey, TElement> 中的項目型別。

參數

source
類型:System.Collections.Generic.IEnumerable<TSource>
要群組其項目的 IEnumerable<T>
keySelector
類型:System.Func<TSource, TKey>
用來擷取各項目之索引鍵的函式。
elementSelector
類型:System.Func<TSource, TElement>
用來將每個來源項目對應至 IGrouping<TKey, TElement> 之項目的函式。
comparer
類型:System.Collections.Generic.IEqualityComparer<TKey>
用來比較索引鍵的 IEqualityComparer<T>

傳回值

類型:System.Collections.Generic.IEnumerable<IGrouping<TKey, TElement>>
在 C# 中為 IEnumerable<IGrouping<TKey, TElement>>,而在 Visual Basic 中則為 IEnumerable(Of IGrouping(Of TKey, TElement)),其中 IGrouping<TKey, TElement> 物件包含型別為 TElement 之物件和索引鍵的集合。

使用注意事項

在 Visual Basic 和 C# 中,您可以在任何 IEnumerable<TSource> 類型物件中呼叫這個方法以做為執行個體。使用執行個體方法語法呼叫這個方法時,請省略第一個參數。如需詳細資訊,請參閱擴充方法 (Visual Basic)擴充方法 (C# 程式設計手冊)

例外狀況條件
ArgumentNullException

sourcekeySelectorelementSelectornull

這個方法是利用延遲執行所實作。 立即傳回值是一個物件,儲存執行該動作所需的所有資訊。 這個方法所代表的查詢必須等到列舉物件 (透過直接呼叫其 GetEnumerator 方法,或是使用 Visual C# 中的 foreach 或 Visual Basic 中的 For Each) 之後才會執行。

GroupBy<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>) 方法會針對找到的每個獨特索引鍵,各傳回一個 IGrouping<TKey, TElement> 物件集合。 IGrouping<TKey, TElement> 是也有與其項目相關聯之索引鍵的 IEnumerable<T>

產生 IGrouping<TKey, TElement> 物件的順序是根據產生每個 IGrouping<TKey, TElement> 的第一個索引鍵之 source 中的項目順序。 群組項目的產生順序與其產生來源項目在 source 中的出現順序相同。

如果 comparernull,則會使用預設相等比較子 Default 來比較索引鍵。

如果根據 comparer 而將兩個索引鍵視為相等,則會選擇第一個索引鍵做為該群組的索引鍵。

在查詢運算式語法中,group by (Visual C#) 或 Group By Into (Visual Basic) 子句會轉譯為 GroupBy 的引動過程。 如需詳細資訊與使用方式範例,請參閱 group 子句 (C# 參考)Group By 子句 (Visual Basic)

.NET Framework

支援版本:4.5.2、4.5.1、4.5、4、3.5

.NET Framework Client Profile

支援版本:4、3.5 SP1

可攜式類別庫

支援版本:可攜式類別庫

適用於 Windows 市集應用程式的 .NET

支援版本:Windows 8

適用於 Windows Phone 應用程式的 .NET

支援版本:Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (不支援伺服器核心角色), Windows Server 2008 R2 (SP1 (含) 以後版本支援伺服器核心角色,不支援 Itanium)

.NET Framework 並不支援各種平台的所有版本。如需支援版本的清單,請參閱.NET Framework 系統需求

社群新增項目

新增
顯示:
© 2015 Microsoft