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

シーケンスにアキュムレータ関数を並列で適用します。 指定したシード値は最初のアキュムレータ値として使用され、指定した関数は結果値の選択に使用されます。

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

変換された最終的なアキュムレータ値。

例外

WithCancellation 経由で渡されたトークンで、クエリが取り消されました。

source または func または resultSelector が null 参照 (Visual Basic の Nothing) です。

クエリ評価中に 1 つまたは複数の例外が発生しました。

source に要素が含まれていません。

こちらもご覧ください

適用対象

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

シーケンスにアキュムレータ関数を並列で適用します。 このオーバーロードはシーケンシャルな実装では使用できません。

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

変換された最終的なアキュムレータ値。

例外

WithCancellation 経由で渡されたトークンで、クエリが取り消されました。

source または seedFactory または updateAccumulatorFunc または combineAccumulatorsFunc または resultSelector が null 参照 (Visual Basic の場合は Nothing) です。

クエリ評価中に 1 つまたは複数の例外が発生しました。

source に要素が含まれていません。

注釈

このオーバーロードは、並列化されたクエリに固有のものです。 並列化されたクエリでは、データソースシーケンスが複数のサブシーケンス (パーティション) に分割されることがあります。 は、 updateAccumulatorFunc パーティション内の各要素に対して呼び出されます。 各パーティションは、1つの累積結果を生成します。 次に、 combineAccumulatorsFunc 各パーティションの結果に対してが呼び出され、1つの要素が生成されます。 この要素は、関数によって変換され resultSelector ます。

こちらもご覧ください

適用対象

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

シーケンスにアキュムレータ関数を並列で適用します。 このオーバーロードはシーケンシャルな実装では使用できません。

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

変換された最終的なアキュムレータ値。

例外

WithCancellation 経由で渡されたトークンで、クエリが取り消されました。

source または updateAccumulatorFunc または combineAccumulatorsFunc または resultSelector が null 参照 (Visual Basic の Nothing) です。

クエリ評価中に 1 つまたは複数の例外が発生しました。

source に要素が含まれていません。

注釈

このオーバーロードは、並列化されたクエリの処理に固有のものです。 並列化されたクエリでは、データソースシーケンスが複数のサブシーケンス (パーティション) に分割されることがあります。 は、 updateAccumulatorFunc パーティション内の各要素に対して呼び出されます。 各パーティションは、1つの累積結果を生成します。 次に、 combineAccumulatorsFunc 各パーティションの結果に対してが呼び出され、1つの要素が生成されます。 この要素は、関数によって変換され resultSelector ます。

こちらもご覧ください

適用対象

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

シーケンスにアキュムレータ関数を並列で適用します。 指定されたシード値が最初のアキュムレータ値として使用されます。

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

最終的なアキュムレータ値。

例外

WithCancellation 経由で渡されたトークンで、クエリが取り消されました。

source または func が null 参照 (Visual Basic の場合は Nothing) です。

クエリ評価中に 1 つまたは複数の例外が発生しました。

source に要素が含まれていません。

こちらもご覧ください

適用対象

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

シーケンスにアキュムレータ関数を並列で適用します。

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

最終的なアキュムレータ値。

例外

WithCancellation 経由で渡されたトークンで、クエリが取り消されました。

source または func が null 参照 (Visual Basic の場合は Nothing) です。

クエリ評価中に 1 つまたは複数の例外が発生しました。

source に要素が含まれていません。

こちらもご覧ください

適用対象