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>

要在每個項目上叫用 (Invoke) 的累加函式。

resultSelector
Func<TAccumulate,TResult>

用來將最終累加值轉換成結果值的函式。

傳回

TResult

轉換後的最終累加值。

例外狀況

sourcefuncresultSelector 是 Null 參考 (在 Visual Basic 中為 Nothing)。

評估查詢的期間發生一或多個例外狀況。

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

轉換後的最終累加值。

例外狀況

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

將累加函式同時套用到序列。 這個多載不能用於循序實作。

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 是 Null 參考 (在 Visual Basic 中為 Nothing)。

評估查詢的期間發生一或多個例外狀況。

source 沒有包含任何項目。

備註

此多載是處理平行化查詢特有的。 平行化查詢可能會將資料來源序列分割成數個子序列, (分割區) 。 會在 updateAccumulatorFunc 分割區內的每個專案上叫用 。 然後,每個資料分割會產生單一累積的結果。 combineAccumulatorsFunc接著會在每個資料分割的結果上叫用 ,以產生單一專案。 此元素接著會由 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>

要在每個項目上叫用 (Invoke) 的累加函式。

傳回

TAccumulate

最終累積值。

例外狀況

sourcefunc 為 Null 參考 (在 Visual Basic 中為 Nothing)。

評估查詢的期間發生一或多個例外狀況。

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>

要在每個項目上叫用 (Invoke) 的累加函式。

傳回

TSource

最終累積值。

例外狀況

sourcefunc 為 Null 參考 (在 Visual Basic 中為 Nothing)。

評估查詢的期間發生一或多個例外狀況。

source 沒有包含任何項目。

另請參閱

適用於