ParallelEnumerable.Aggregate 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將累加函式同時套用到序列。
多載
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>
用來將最終累加值轉換成結果值的函式。
傳回
轉換後的最終累加值。
例外狀況
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>)
將累加函式同時套用到序列。 這個多載不能用於循序實作。
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>
用來將最終累加值轉換成結果值的函式。
傳回
轉換後的最終累加值。
例外狀況
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>)
將累加函式同時套用到序列。 這個多載不能用於循序實作。
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>
用來將最終累加值轉換成結果值的函式。
傳回
轉換後的最終累加值。
例外狀況
source
或 updateAccumulatorFunc
或 combineAccumulatorsFunc
或 resultSelector
是 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) 的累加函式。
傳回
最終累積值。
例外狀況
source
或 func
為 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) 的累加函式。
傳回
最終累積值。
例外狀況
source
或 func
為 Null 參考 (在 Visual Basic 中為 Nothing)。
評估查詢的期間發生一或多個例外狀況。
source
沒有包含任何項目。