Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Enumerable.Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>)

 

Data di pubblicazione: ottobre 2016

Applica una funzione accumulatore una sequenza. Il valore di inizializzazione specificato viene usato come valore iniziale dell'accumulatore.

Spazio dei nomi:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static TAccumulate Aggregate<TSource, TAccumulate>(
	this IEnumerable<TSource> source,
	TAccumulate seed,
	Func<TAccumulate, TSource, TAccumulate> func
)

Parametri

source
Type: System.Collections.Generic.IEnumerable<TSource>

Un IEnumerable<T> su cui aggregare.

seed
Type: TAccumulate

Valore iniziale dell'accumulatore.

func
Type: System.Func<TAccumulate, TSource, TAccumulate>

Funzione accumulatore da richiamare per ogni elemento.

Valore restituito

Type: TAccumulate

Valore finale dell'accumulatore.

Parametri tipo

TSource

Tipo degli elementi di source.

TAccumulate

Tipo del valore dell'accumulatore.

Exception Condition
ArgumentNullException

source o func è null.

Il Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) metodo rende più semplice eseguire un calcolo su una sequenza di valori. Questo metodo funziona chiamando func una volta per ogni elemento in source. Ogni volta che func viene chiamato, Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) passa sia l'elemento nella sequenza e un valore aggregato (come il primo argomento func). Il valore di seed parametro viene utilizzato come valore aggregato iniziale. Il risultato di func sostituisce il precedente valore aggregato. Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) Restituisce il risultato finale di func.

Per semplificare le comuni operazioni di aggregazione, gli operatori di query standard includono anche un metodo di conteggio di utilizzo generale, Count<TSource>, e quattro i metodi di aggregazione numerica, vale a dire Min, Max, Sum, e Average.

Esempio di codice seguente viene illustrato come utilizzare Aggregate<TSource, TAccumulate> per applicare una funzione accumulatore e utilizzare un valore di inizializzazione.

int[] ints = { 4, 8, 8, 3, 9, 0, 7, 8, 2 };

// Count the even numbers in the array, using a seed value of 0.
int numEven = ints.Aggregate(0, (total, next) =>
                                    next % 2 == 0 ? total + 1 : total);

Console.WriteLine("The number of even integers is: {0}", numEven);

// This code produces the following output:
//
// The number of even integers is: 6 

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: