ParallelEnumerable.Aggregate Methode

Definition

Wendet parallel eine Akkumulatorfunktion auf eine Sequenz an.

Überlädt

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

Wendet parallel eine Akkumulatorfunktion auf eine Sequenz an. Der angegebene Startwert wird als erster Akkumulatorwert verwendet, und der Ergebniswert wird mit der angegebenen Funktion ausgewählt.

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

Wendet parallel eine Akkumulatorfunktion auf eine Sequenz an. Diese Überladung ist in der sequenziellen Implementierung nicht verfügbar.

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

Wendet parallel eine Akkumulatorfunktion auf eine Sequenz an. Diese Überladung ist in der sequenziellen Implementierung nicht verfügbar.

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

Wendet parallel eine Akkumulatorfunktion auf eine Sequenz an. Der angegebene Startwert wird als erster Akkumulatorwert verwendet.

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

Wendet parallel eine Akkumulatorfunktion auf eine Sequenz an.

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

Wendet parallel eine Akkumulatorfunktion auf eine Sequenz an. Der angegebene Startwert wird als erster Akkumulatorwert verwendet, und der Ergebniswert wird mit der angegebenen Funktion ausgewählt.

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

Typparameter

TSource

Der Typ der Elemente von source.

TAccumulate

Der Typ des Akkumulatorwerts.

TResult

Der Typ des Ergebniswerts.

Parameter

source
ParallelQuery<TSource>

Eine Sequenz, die aggregiert werden soll.

seed
TAccumulate

Der erste Akkumulatorwert.

func
Func<TAccumulate,TSource,TAccumulate>

Eine Akkumulatorfunktion, die für jedes Element aufgerufen werden soll.

resultSelector
Func<TAccumulate,TResult>

Eine Funktion zum Transformieren des letzten Akkumulatorwerts in den Ergebniswert.

Gibt zurück

TResult

Der transformierte letzte Akkumulatorwert.

Ausnahmen

Die Abfrage wurde abgebrochen, wobei das Token über WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) übergeben wurde.

source oder func oder resultSelector ist ein NULL-Verweis (Nothing in Visual Basic).

Während der Auswertung der Abfrage ist mindestens eine Ausnahme aufgetreten.

source enthält keine Elemente.

Siehe auch

Gilt für

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

Wendet parallel eine Akkumulatorfunktion auf eine Sequenz an. Diese Überladung ist in der sequenziellen Implementierung nicht verfügbar.

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

Typparameter

TSource

Der Typ der Elemente von source.

TAccumulate

Der Typ des Akkumulatorwerts.

TResult

Der Typ des Ergebniswerts.

Parameter

source
ParallelQuery<TSource>

Eine Sequenz, die aggregiert werden soll.

seedFactory
Func<TAccumulate>

Eine Funktion, die den Anfangsakkumulatorwert zurückgibt.

updateAccumulatorFunc
Func<TAccumulate,TSource,TAccumulate>

Eine Akkumulatorfunktion, die für jedes Element in einer Partition aufgerufen werden soll.

combineAccumulatorsFunc
Func<TAccumulate,TAccumulate,TAccumulate>

Eine Akkumulatorfunktion, die für das zurückgegebene Akkumulatorergebnis jeder Partition aufgerufen werden soll.

resultSelector
Func<TAccumulate,TResult>

Eine Funktion zum Transformieren des letzten Akkumulatorwerts in den Ergebniswert.

Gibt zurück

TResult

Der transformierte letzte Akkumulatorwert.

Ausnahmen

Die Abfrage wurde abgebrochen, wobei das Token über WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) übergeben wurde.

source, seedFactory, updateAccumulatorFunc, combineAccumulatorsFunc oder resultSelector ist ein NULL-Verweis (Nothing in Visual Basic).

Während der Auswertung der Abfrage ist mindestens eine Ausnahme aufgetreten.

source enthält keine Elemente.

Hinweise

Diese Überladung ist speziell für parallelisierte Abfragen. Eine parallelisierte Abfrage kann die Datenquellensequenz in mehrere Untersequenzen (Partitionen) partitionieren. Das updateAccumulatorFunc wird für jedes Element innerhalb von Partitionen aufgerufen. Jede Partition gibt dann ein einzelnes gesammeltes Ergebnis zurück. Anschließend combineAccumulatorsFunc wird auf den Ergebnissen jeder Partition aufgerufen, um ein einzelnes Element zu erhalten. Dieses Element wird dann von der resultSelector Funktion transformiert.

Siehe auch

Gilt für

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

Wendet parallel eine Akkumulatorfunktion auf eine Sequenz an. Diese Überladung ist in der sequenziellen Implementierung nicht verfügbar.

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

Typparameter

TSource

Der Typ der Elemente von source.

TAccumulate

Der Typ des Akkumulatorwerts.

TResult

Der Typ des Ergebniswerts.

Parameter

source
ParallelQuery<TSource>

Eine Sequenz, die aggregiert werden soll.

seed
TAccumulate

Der erste Akkumulatorwert.

updateAccumulatorFunc
Func<TAccumulate,TSource,TAccumulate>

Eine Akkumulatorfunktion, die für jedes Element in einer Partition aufgerufen werden soll.

combineAccumulatorsFunc
Func<TAccumulate,TAccumulate,TAccumulate>

Eine Akkumulatorfunktion, die für das zurückgegebene Akkumulatorergebnis jeder Partition aufgerufen werden soll.

resultSelector
Func<TAccumulate,TResult>

Eine Funktion zum Transformieren des letzten Akkumulatorwerts in den Ergebniswert.

Gibt zurück

TResult

Der transformierte letzte Akkumulatorwert.

Ausnahmen

Die Abfrage wurde abgebrochen, wobei das Token über WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) übergeben wurde.

source oder updateAccumulatorFunc oder combineAccumulatorsFunc oder resultSelector ist ein NULL-Verweis (Nothing in Visual Basic).

Während der Auswertung der Abfrage ist mindestens eine Ausnahme aufgetreten.

source enthält keine Elemente.

Hinweise

Diese Überladung ist speziell für die Verarbeitung einer parallelisierten Abfrage. Eine parallelisierte Abfrage kann die Datenquellensequenz in mehrere Untersequenzen (Partitionen) partitionieren. Das updateAccumulatorFunc wird für jedes Element innerhalb von Partitionen aufgerufen. Jede Partition gibt dann ein einzelnes gesammeltes Ergebnis zurück. Anschließend combineAccumulatorsFunc wird auf den Ergebnissen jeder Partition aufgerufen, um ein einzelnes Element zu erhalten. Dieses Element wird dann von der resultSelector Funktion transformiert.

Siehe auch

Gilt für

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

Wendet parallel eine Akkumulatorfunktion auf eine Sequenz an. Der angegebene Startwert wird als erster Akkumulatorwert verwendet.

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

Typparameter

TSource

Der Typ der Elemente von source.

TAccumulate

Der Typ des Akkumulatorwerts.

Parameter

source
ParallelQuery<TSource>

Eine Sequenz, die aggregiert werden soll.

seed
TAccumulate

Der erste Akkumulatorwert.

func
Func<TAccumulate,TSource,TAccumulate>

Eine Akkumulatorfunktion, die für jedes Element aufgerufen werden soll.

Gibt zurück

TAccumulate

Der letzte Akkumulatorwert.

Ausnahmen

Die Abfrage wurde abgebrochen, wobei das Token über WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) übergeben wurde.

source oder func ist ein NULL-Verweis („Nothing“ in Visual Basic).

Während der Auswertung der Abfrage ist mindestens eine Ausnahme aufgetreten.

source enthält keine Elemente.

Siehe auch

Gilt für

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

Wendet parallel eine Akkumulatorfunktion auf eine Sequenz an.

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
ParallelQuery<TSource>

Eine Sequenz, die aggregiert werden soll.

func
Func<TSource,TSource,TSource>

Eine Akkumulatorfunktion, die für jedes Element aufgerufen werden soll.

Gibt zurück

TSource

Der letzte Akkumulatorwert.

Ausnahmen

Die Abfrage wurde abgebrochen, wobei das Token über WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken) übergeben wurde.

source oder func ist ein NULL-Verweis („Nothing“ in Visual Basic).

Während der Auswertung der Abfrage ist mindestens eine Ausnahme aufgetreten.

source enthält keine Elemente.

Siehe auch

Gilt für