Groups in parallel the elements of a sequence according to a specified key
selector function and creates a result value from each group and its key.
The elements of each group are projected by using a specified function.
Namespace:
System.Linq
Assembly:
System.Threading (in System.Threading.dll)
Syntax
Visual Basic (Declaration) |
---|
Public Shared Function GroupBy(Of TSource, TKey, TElement, TResult) ( _
source As ParallelQuery(Of TSource), _
keySelector As Func(Of TSource, TKey), _
elementSelector As Func(Of TSource, TElement), _
resultSelector As Func(Of TKey, IEnumerable(Of TElement), TResult) _
) As ParallelQuery(Of TResult) |
C# |
---|
public static ParallelQuery<TResult> GroupBy<TSource, TKey, TElement, TResult>(
ParallelQuery<TSource> source,
Func<TSource, TKey> keySelector,
Func<TSource, TElement> elementSelector,
Func<TKey, IEnumerable<TElement>, TResult> resultSelector
)
|
Parameters
- source
- Type: System.Linq..::.ParallelQuery<(Of <(TSource>)>)
A sequence whose elements to group.
- keySelector
- Type: System..::.Func<(Of <(TSource, TKey>)>)
A function to extract the key for each element.
- elementSelector
- Type: System..::.Func<(Of <(TSource, TElement>)>)
A function to map each source element to an element in an
IGrouping<TKey, TElement>.
- resultSelector
- Type: System..::.Func<(Of <(TKey, IEnumerable<(Of <(TElement>)>), TResult>)>)
A function to create a result value from each group.
Type Parameters
- TSource
- The type of the elements of source.
- TKey
- The type of the key returned by keySelector.
- TElement
- The type of the elements in each
IGrouping{TKey, TElement}.
- TResult
- The type of the result value returned by resultSelector.
Return Value
A collection of elements of type
TElement where each element represents a
projection over a group and its key.
Exceptions
Exception | Condition |
---|
System..::.ArgumentNullException |
source or keySelector or
elementSelector or resultSelector is a null reference (Nothing in Visual Basic).
|
See Also