ParallelEnumerable.Aggregate 方法

定义

在序列上并行应用累加器函数。

重载

名称 说明
Aggregate<TSource,TAccumulate,TResult>(ParallelQuery<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate,TResult>)

在序列上并行应用累加器函数。 指定的种子值用作初始累加器值,并且指定函数用于选择结果值。

Aggregate<TSource,TAccumulate,TResult>(ParallelQuery<TSource>, Func<TAccumulate>, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate, TAccumulate,TAccumulate>, Func<TAccumulate,TResult>)

在序列上并行应用累加器函数。 此重载在顺序实现中不可用。

Aggregate<TSource,TAccumulate,TResult>(ParallelQuery<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate, TAccumulate,TAccumulate>, Func<TAccumulate,TResult>)

在序列上并行应用累加器函数。 此重载在顺序实现中不可用。

Aggregate<TSource,TAccumulate>(ParallelQuery<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>)

在序列上并行应用累加器函数。 指定的种子值用作初始累加器值。

Aggregate<TSource>(ParallelQuery<TSource>, Func<TSource,TSource,TSource>)

在序列上并行应用累加器函数。

Aggregate<TSource,TAccumulate,TResult>(ParallelQuery<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate,TResult>)

Source:
ParallelEnumerable.cs
Source:
ParallelEnumerable.cs
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>

一个函数,用于将最终累加器值转换为结果值。

返回

TResult

转换后的最终累加器值。

例外

sourcefuncresultSelector 是空引用(Visual Basic 中没有任何内容)。

在查询评估期间发生一个或多个异常。

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
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>

一个函数,用于将最终累加器值转换为结果值。

返回

TResult

转换后的最终累加器值。

例外

sourceseedFactoryupdateAccumulatorFunccombineAccumulatorsFuncresultSelector 是空引用(Visual Basic 中无任何内容)。

在查询评估期间发生一个或多个异常。

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
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>

一个函数,用于将最终累加器值转换为结果值。

返回

TResult

转换后的最终累加器值。

例外

sourceupdateAccumulatorFunccombineAccumulatorsFuncresultSelector 是空引用(Visual Basic 中无任何内容)。

在查询评估期间发生一个或多个异常。

source 不包含任何元素。

注解

此重载特定于处理并行查询。 并行查询可将数据源序列分区为多个子序列(分区)。 在分区中的每个元素上调用该 updateAccumulatorFunc 元素。 然后,每个分区生成单个累积结果。 然后,对每个分区的结果调用该 combineAccumulatorsFunc 元素以生成单个元素。 然后,此元素由 resultSelector 函数转换。

另请参阅

适用于

Aggregate<TSource,TAccumulate>(ParallelQuery<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>)

Source:
ParallelEnumerable.cs
Source:
ParallelEnumerable.cs
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>

要在每个元素上调用的累加器函数。

返回

TAccumulate

最终累加器值。

例外

sourcefunc 是空引用(Visual Basic 中没有任何内容)。

在查询评估期间发生一个或多个异常。

source 不包含任何元素。

另请参阅

适用于

Aggregate<TSource>(ParallelQuery<TSource>, Func<TSource,TSource,TSource>)

Source:
ParallelEnumerable.cs
Source:
ParallelEnumerable.cs
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>

要在每个元素上调用的累加器函数。

返回

TSource

最终累加器值。

例外

sourcefunc 是空引用(Visual Basic 中没有任何内容)。

在查询评估期间发生一个或多个异常。

source 不包含任何元素。

另请参阅

适用于