GroupByMany<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, IEnumerable<TKey>>, Func<TSource, TElement>, IEqualityComparer<TKey>) Method
Groups the elements of a sequence according to a specified key selector function that returns a sequence of keys. The keys are compared by using a comparer and each group's elements are projected by using a specified function.
Containing Type


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

Type Parameters

Name Description
TSource The type of the source.
TKey The type of the key.
TElement The type of the element.


Name Type Description
source IEnumerable<TSource> The source.
keySelector Func<TSource, IEnumerable<TKey>> The key selector.
elementSelector Func<TSource, TElement> The element selector.
comparer IEqualityComparer<TKey> The comparer.

Return Value

Type Description
IEnumerable<IGrouping<TKey, TElement>> A sequence of groups.