ParallelEnumerable.Aggregate<TSource, TAccumulate> Method (ParallelQuery<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>)
Applies in parallel an accumulator function over a sequence. The specified seed value is used as the initial accumulator value.
Namespace: System.Linq
Assembly: System.Core (in System.Core.dll)
public static TAccumulate Aggregate<TSource, TAccumulate>( this ParallelQuery<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> func )
Type Parameters
- TSource
The type of the elements of source.
- TAccumulate
The type of the accumulator value.
Parameters
- source
- Type: System.Linq.ParallelQuery<TSource>
A sequence to aggregate over.
- seed
- Type: TAccumulate
The initial accumulator value.
- func
- Type: System.Func<TAccumulate, TSource, TAccumulate>
An accumulator function to be invoked on each element.
Return Value
Type: TAccumulateThe final accumulator value.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type ParallelQuery<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).| Exception | Condition |
|---|---|
| OperationCanceledException | The query was canceled with the token passed in through WithCancellation. |
| ArgumentNullException | source or func is a null reference (Nothing in Visual Basic). |
| AggregateException | One or more exceptions occurred during the evaluation of the query. |
| InvalidOperationException | source contains no elements. |
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.