ParallelEnumerable.Aggregate 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
对一个序列并行应用累加器函数。
重载
Aggregate<TSource,TAccumulate,TResult>(ParallelQuery<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate,TResult>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
对一个序列并行应用累加器函数。 将指定的种子值用作累加器的初始值,并使用指定的函数选择结果值。
public:
generic <typename TSource, typename TAccumulate, typename TResult>
[System::Runtime::CompilerServices::Extension]
static TResult Aggregate(System::Linq::ParallelQuery<TSource> ^ source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> ^ func, Func<TAccumulate, TResult> ^ resultSelector);
public static TResult Aggregate<TSource,TAccumulate,TResult> (this System.Linq.ParallelQuery<TSource> source, TAccumulate seed, Func<TAccumulate,TSource,TAccumulate> func, Func<TAccumulate,TResult> resultSelector);
static member Aggregate : System.Linq.ParallelQuery<'Source> * 'Accumulate * Func<'Accumulate, 'Source, 'Accumulate> * Func<'Accumulate, 'Result> -> 'Result
<Extension()>
Public Function Aggregate(Of TSource, TAccumulate, TResult) (source As ParallelQuery(Of TSource), seed As TAccumulate, func As Func(Of TAccumulate, TSource, TAccumulate), resultSelector As Func(Of TAccumulate, TResult)) As TResult
类型参数
- TSource
source
的元素类型。
- TAccumulate
累加器值的类型。
- TResult
结果值的类型。
参数
- source
- ParallelQuery<TSource>
要对其进行聚合的序列。
- seed
- TAccumulate
累加器的初始值。
- func
- Func<TAccumulate,TSource,TAccumulate>
要对每个元素调用的累加器函数。
- resultSelector
- Func<TAccumulate,TResult>
将累加器的最终值转换为结果值的函数。
返回
已转换的累加器最终值。
例外
已使用通过 WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) 传递的令牌取消了查询。
source
或 func
或 resultSelector
是 null 引用(在 Visual Basic 中为 Nothing)。
评估查询期间发生一个或多个异常。
source
中不包含任何元素。
另请参阅
适用于
Aggregate<TSource,TAccumulate,TResult>(ParallelQuery<TSource>, Func<TAccumulate>, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate, TAccumulate,TAccumulate>, Func<TAccumulate,TResult>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
对一个序列并行应用累加器函数。 此重载在顺序实现中不可用。
public:
generic <typename TSource, typename TAccumulate, typename TResult>
[System::Runtime::CompilerServices::Extension]
static TResult Aggregate(System::Linq::ParallelQuery<TSource> ^ source, Func<TAccumulate> ^ seedFactory, Func<TAccumulate, TSource, TAccumulate> ^ updateAccumulatorFunc, Func<TAccumulate, TAccumulate, TAccumulate> ^ combineAccumulatorsFunc, Func<TAccumulate, TResult> ^ resultSelector);
public static TResult Aggregate<TSource,TAccumulate,TResult> (this System.Linq.ParallelQuery<TSource> source, Func<TAccumulate> seedFactory, Func<TAccumulate,TSource,TAccumulate> updateAccumulatorFunc, Func<TAccumulate,TAccumulate,TAccumulate> combineAccumulatorsFunc, Func<TAccumulate,TResult> resultSelector);
static member Aggregate : System.Linq.ParallelQuery<'Source> * Func<'Accumulate> * Func<'Accumulate, 'Source, 'Accumulate> * Func<'Accumulate, 'Accumulate, 'Accumulate> * Func<'Accumulate, 'Result> -> 'Result
<Extension()>
Public Function Aggregate(Of TSource, TAccumulate, TResult) (source As ParallelQuery(Of TSource), seedFactory As Func(Of TAccumulate), updateAccumulatorFunc As Func(Of TAccumulate, TSource, TAccumulate), combineAccumulatorsFunc As Func(Of TAccumulate, TAccumulate, TAccumulate), resultSelector As Func(Of TAccumulate, TResult)) As TResult
类型参数
- TSource
source
的元素类型。
- TAccumulate
累加器值的类型。
- TResult
结果值的类型。
参数
- source
- ParallelQuery<TSource>
要对其进行聚合的序列。
- seedFactory
- Func<TAccumulate>
一个返回初始累加器值的函数。
- updateAccumulatorFunc
- Func<TAccumulate,TSource,TAccumulate>
要对分区中的每个元素调用的累加器函数。
- combineAccumulatorsFunc
- Func<TAccumulate,TAccumulate,TAccumulate>
要对每个分区中已生成的累加器结果调用的累加器函数。
- resultSelector
- Func<TAccumulate,TResult>
将累加器的最终值转换为结果值的函数。
返回
已转换的累加器最终值。
例外
已使用通过 WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) 传递的令牌取消了查询。
source
或 seedFactory
或 updateAccumulatorFunc
或 combineAccumulatorsFunc
或 resultSelector
是 null 引用(在 Visual Basic 中为 Nothing)。
评估查询期间发生一个或多个异常。
source
中不包含任何元素。
注解
此重载特定于并行化查询。 并行化查询可将数据源序列分区为多个子序列, (分区) 。 updateAccumulatorFunc
对分区中的每个元素调用 。 然后,每个分区生成单个累积结果。 然后在每个分区的结果上调用 以 combineAccumulatorsFunc
生成单个元素。 然后,此元素由 resultSelector
函数转换。
另请参阅
适用于
Aggregate<TSource,TAccumulate,TResult>(ParallelQuery<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate, TAccumulate,TAccumulate>, Func<TAccumulate,TResult>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
对一个序列并行应用累加器函数。 此重载在顺序实现中不可用。
public:
generic <typename TSource, typename TAccumulate, typename TResult>
[System::Runtime::CompilerServices::Extension]
static TResult Aggregate(System::Linq::ParallelQuery<TSource> ^ source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> ^ updateAccumulatorFunc, Func<TAccumulate, TAccumulate, TAccumulate> ^ combineAccumulatorsFunc, Func<TAccumulate, TResult> ^ resultSelector);
public static TResult Aggregate<TSource,TAccumulate,TResult> (this System.Linq.ParallelQuery<TSource> source, TAccumulate seed, Func<TAccumulate,TSource,TAccumulate> updateAccumulatorFunc, Func<TAccumulate,TAccumulate,TAccumulate> combineAccumulatorsFunc, Func<TAccumulate,TResult> resultSelector);
static member Aggregate : System.Linq.ParallelQuery<'Source> * 'Accumulate * Func<'Accumulate, 'Source, 'Accumulate> * Func<'Accumulate, 'Accumulate, 'Accumulate> * Func<'Accumulate, 'Result> -> 'Result
<Extension()>
Public Function Aggregate(Of TSource, TAccumulate, TResult) (source As ParallelQuery(Of TSource), seed As TAccumulate, updateAccumulatorFunc As Func(Of TAccumulate, TSource, TAccumulate), combineAccumulatorsFunc As Func(Of TAccumulate, TAccumulate, TAccumulate), resultSelector As Func(Of TAccumulate, TResult)) As TResult
类型参数
- TSource
source
的元素类型。
- TAccumulate
累加器值的类型。
- TResult
结果值的类型。
参数
- source
- ParallelQuery<TSource>
要对其进行聚合的序列。
- seed
- TAccumulate
累加器的初始值。
- updateAccumulatorFunc
- Func<TAccumulate,TSource,TAccumulate>
要对分区中的每个元素调用的累加器函数。
- combineAccumulatorsFunc
- Func<TAccumulate,TAccumulate,TAccumulate>
要对每个分区中已生成的累加器结果调用的累加器函数。
- resultSelector
- Func<TAccumulate,TResult>
将累加器的最终值转换为结果值的函数。
返回
已转换的累加器最终值。
例外
已使用通过 WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) 传递的令牌取消了查询。
source
或 updateAccumulatorFunc
或 combineAccumulatorsFunc
或 resultSelector
是 null 引用(在 Visual Basic 中为 Nothing)。
评估查询期间发生一个或多个异常。
source
中不包含任何元素。
注解
此重载特定于处理并行化查询。 并行化查询可将数据源序列分区为多个子序列, (分区) 。 updateAccumulatorFunc
对分区中的每个元素调用 。 然后,每个分区生成单个累积结果。 然后在每个分区的结果上调用 以 combineAccumulatorsFunc
生成单个元素。 然后,此元素由 resultSelector
函数转换。
另请参阅
适用于
Aggregate<TSource,TAccumulate>(ParallelQuery<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
对一个序列并行应用累加器函数。 将指定的种子值用作累加器初始值。
public:
generic <typename TSource, typename TAccumulate>
[System::Runtime::CompilerServices::Extension]
static TAccumulate Aggregate(System::Linq::ParallelQuery<TSource> ^ source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> ^ func);
public static TAccumulate Aggregate<TSource,TAccumulate> (this System.Linq.ParallelQuery<TSource> source, TAccumulate seed, Func<TAccumulate,TSource,TAccumulate> func);
static member Aggregate : System.Linq.ParallelQuery<'Source> * 'Accumulate * Func<'Accumulate, 'Source, 'Accumulate> -> 'Accumulate
<Extension()>
Public Function Aggregate(Of TSource, TAccumulate) (source As ParallelQuery(Of TSource), seed As TAccumulate, func As Func(Of TAccumulate, TSource, TAccumulate)) As TAccumulate
类型参数
- TSource
source
的元素类型。
- TAccumulate
累加器值的类型。
参数
- source
- ParallelQuery<TSource>
要对其进行聚合的序列。
- seed
- TAccumulate
累加器的初始值。
- func
- Func<TAccumulate,TSource,TAccumulate>
要对每个元素调用的累加器函数。
返回
累加器的最终值。
例外
已使用通过 WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) 传递的令牌取消了查询。
source
或 func
为 null 引用(在 Visual Basic 中为 Nothing)。
评估查询期间发生一个或多个异常。
source
中不包含任何元素。
另请参阅
适用于
Aggregate<TSource>(ParallelQuery<TSource>, Func<TSource,TSource,TSource>)
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
- Source:
- ParallelEnumerable.cs
对一个序列并行应用累加器函数。
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static TSource Aggregate(System::Linq::ParallelQuery<TSource> ^ source, Func<TSource, TSource, TSource> ^ func);
public static TSource Aggregate<TSource> (this System.Linq.ParallelQuery<TSource> source, Func<TSource,TSource,TSource> func);
static member Aggregate : System.Linq.ParallelQuery<'Source> * Func<'Source, 'Source, 'Source> -> 'Source
<Extension()>
Public Function Aggregate(Of TSource) (source As ParallelQuery(Of TSource), func As Func(Of TSource, TSource, TSource)) As TSource
类型参数
- TSource
source
的元素类型。
参数
- source
- ParallelQuery<TSource>
要对其进行聚合的序列。
- func
- Func<TSource,TSource,TSource>
要对每个元素调用的累加器函数。
返回
累加器的最终值。
例外
已使用通过 WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) 传递的令牌取消了查询。
source
或 func
为 null 引用(在 Visual Basic 中为 Nothing)。
评估查询期间发生一个或多个异常。
source
中不包含任何元素。