Edit

Share via


Enumerable.AggregateBy Method

Definition

Overloads

AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TKey,TAccumulate>, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>)

Applies an accumulator function over a sequence, grouping results by key.

AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>)

Applies an accumulator function over a sequence, grouping results by key.

AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TKey,TAccumulate>, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>)

Source:
AggregateBy.cs

Applies an accumulator function over a sequence, grouping results by key.

public static System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TAccumulate>> AggregateBy<TSource,TKey,TAccumulate> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector, Func<TKey,TAccumulate> seedSelector, Func<TAccumulate,TSource,TAccumulate> func, System.Collections.Generic.IEqualityComparer<TKey>? keyComparer = default);
static member AggregateBy : seq<'Source> * Func<'Source, 'Key> * Func<'Key, 'Accumulate> * Func<'Accumulate, 'Source, 'Accumulate> * System.Collections.Generic.IEqualityComparer<'Key> -> seq<System.Collections.Generic.KeyValuePair<'Key, 'Accumulate>>
<Extension()>
Public Function AggregateBy(Of TSource, TKey, TAccumulate) (source As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey), seedSelector As Func(Of TKey, TAccumulate), func As Func(Of TAccumulate, TSource, TAccumulate), Optional keyComparer As IEqualityComparer(Of TKey) = Nothing) As IEnumerable(Of KeyValuePair(Of TKey, TAccumulate))

Type Parameters

TSource

The type of the elements of source.

TKey

The type of the key returned by keySelector.

TAccumulate

The type of the accumulator value.

Parameters

source
IEnumerable<TSource>

An IEnumerable<T> to aggregate over.

keySelector
Func<TSource,TKey>

A function to extract the key for each element.

seedSelector
Func<TKey,TAccumulate>

A factory for the initial accumulator value.

func
Func<TAccumulate,TSource,TAccumulate>

An accumulator function to be invoked on each element.

keyComparer
IEqualityComparer<TKey>

An IEqualityComparer<T> to compare keys with.

Returns

IEnumerable<KeyValuePair<TKey,TAccumulate>>

An enumerable containing the aggregates corresponding to each key deriving from source.

Remarks

This method is comparable to the GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) methods where each grouping is being aggregated into a single value as opposed to allocating a collection for each group.

Applies to

AggregateBy<TSource,TKey,TAccumulate>(IEnumerable<TSource>, Func<TSource, TKey>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, IEqualityComparer<TKey>)

Source:
AggregateBy.cs

Applies an accumulator function over a sequence, grouping results by key.

public static System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TAccumulate>> AggregateBy<TSource,TKey,TAccumulate> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector, TAccumulate seed, Func<TAccumulate,TSource,TAccumulate> func, System.Collections.Generic.IEqualityComparer<TKey>? keyComparer = default);
static member AggregateBy : seq<'Source> * Func<'Source, 'Key> * 'Accumulate * Func<'Accumulate, 'Source, 'Accumulate> * System.Collections.Generic.IEqualityComparer<'Key> -> seq<System.Collections.Generic.KeyValuePair<'Key, 'Accumulate>>
<Extension()>
Public Function AggregateBy(Of TSource, TKey, TAccumulate) (source As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey), seed As TAccumulate, func As Func(Of TAccumulate, TSource, TAccumulate), Optional keyComparer As IEqualityComparer(Of TKey) = Nothing) As IEnumerable(Of KeyValuePair(Of TKey, TAccumulate))

Type Parameters

TSource

The type of the elements of source.

TKey

The type of the key returned by keySelector.

TAccumulate

The type of the accumulator value.

Parameters

source
IEnumerable<TSource>

An IEnumerable<T> to aggregate over.

keySelector
Func<TSource,TKey>

A function to extract the key for each element.

seed
TAccumulate

The initial accumulator value.

func
Func<TAccumulate,TSource,TAccumulate>

An accumulator function to be invoked on each element.

keyComparer
IEqualityComparer<TKey>

An IEqualityComparer<T> to compare keys with.

Returns

IEnumerable<KeyValuePair<TKey,TAccumulate>>

An enumerable containing the aggregates corresponding to each key deriving from source.

Remarks

This method is comparable to the GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) methods where each grouping is being aggregated into a single value as opposed to allocating a collection for each group.

Applies to