Поделиться через


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

Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs
Исходный код:
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

Преобразованное конечное агрегатное значение.

Исключения

Запрос отменен с использованием маркера, переданного через WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken).

source или func или resultSelector является пустой ссылкой (Nothing в Visual Basic).

При оценке запроса получено одно или несколько исключений.

Последовательность source не содержит элементов.

См. также раздел

Применяется к

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

Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs
Исходный код:
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

Преобразованное конечное агрегатное значение.

Исключения

Запрос отменен с использованием маркера, переданного через WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken).

source или seedFactory или updateAccumulatorFunc или combineAccumulatorsFunc или resultSelector является пустой ссылкой (Nothing в Visual Basic).

При оценке запроса получено одно или несколько исключений.

Последовательность source не содержит элементов.

Комментарии

Эта перегрузка связана с параллельными запросами. Параллельный запрос может разделить последовательность источников данных на несколько вложенных последовательностей (секций). Вызывается updateAccumulatorFunc для каждого элемента в секциях. Затем каждая секция получает один накопленный результат. combineAccumulatorsFunc Затем вызывается в результатах каждой секции, чтобы получить один элемент. Затем этот элемент преобразуется функцией resultSelector .

См. также раздел

Применяется к

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

Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs
Исходный код:
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

Преобразованное конечное агрегатное значение.

Исключения

Запрос отменен с использованием маркера, переданного через WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken).

source или updateAccumulatorFunc или combineAccumulatorsFunc или resultSelector является пустой ссылкой (Nothing в Visual Basic).

При оценке запроса получено одно или несколько исключений.

Последовательность source не содержит элементов.

Комментарии

Эта перегрузка связана с обработкой параллельного запроса. Параллельный запрос может разделить последовательность источников данных на несколько вложенных последовательностей (секций). Вызывается updateAccumulatorFunc для каждого элемента в секциях. Затем каждая секция получает один накопленный результат. combineAccumulatorsFunc Затем вызывается в результатах каждой секции, чтобы получить один элемент. Затем этот элемент преобразуется функцией resultSelector .

См. также раздел

Применяется к

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

Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs
Исходный код:
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

Конечное агрегатное значение.

Исключения

Запрос отменен с использованием маркера, переданного через WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken).

Параметр source или func — это пустая ссылка (Nothing в Visual Basic).

При оценке запроса получено одно или несколько исключений.

Последовательность source не содержит элементов.

См. также раздел

Применяется к

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

Исходный код:
ParallelEnumerable.cs
Исходный код:
ParallelEnumerable.cs
Исходный код:
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

Конечное агрегатное значение.

Исключения

Запрос отменен с использованием маркера, переданного через WithCancellation<TSource>(ParallelQuery<TSource>, CancellationToken).

Параметр source или func — это пустая ссылка (Nothing в Visual Basic).

При оценке запроса получено одно или несколько исключений.

Последовательность source не содержит элементов.

См. также раздел

Применяется к