エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Enumerable.GroupBy<TSource, TKey, TElement> メソッド (IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)

2013/12/12

キー セレクター関数に従ってシーケンスの要素をグループ化します。キーの比較には、比較子を使用し、各グループの要素の射影には、指定された関数を使用します。

Namespace:  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> 型の任意のオブジェクトのインスタンス メソッドとして呼び出すことができます。インスタンス メソッド構文を使用してこのメソッドを呼び出す場合は、最初のパラメーターを省略します。

例外条件
ArgumentNullException

sourcekeySelector、または elementSelectornull です。

このメソッドは遅延実行を使用して実装されます。アクションの実行に必要なすべての情報を格納するオブジェクトがすぐに返されます。このメソッドで表されるクエリは、オブジェクトの GetEnumerator メソッドを直接呼び出すか、または Visual C# の foreach または Visual Basic の For Each を使用してオブジェクトが列挙されるまで、実行されません。

GroupBy<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>) メソッドは、検出された各一意のキーに対して 1 つずつ存在する IGrouping<TKey, TElement> オブジェクトのコレクションを返します。IGrouping<TKey, TElement> は、その要素に関連付けられたキーも持つ IEnumerable<T> です。

IGrouping<TKey, TElement> オブジェクトは、各 IGrouping<TKey, TElement> の最初のキーを生成した source 内の要素の順序に基づいた順序で返されます。グループ内の要素は、その要素を生成した要素が source に出現する順序で返されます。

comparernull の場合は、既定の等値比較子 Default を使用して値が比較されます。

comparer に従って 2 つのキーが等しいと見なされた場合は、最初のキーがそのグループのキーとして選択されます。

クエリ式の構文では、group by (Visual C#) または Group By Into (Visual Basic) 句が、Enumerable.GroupByの呼び出しに変換されます。

Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2014 Microsoft