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>(IEnumerable<TSource>, Func<TSource, TSource, TSource>)

 

Data di pubblicazione: novembre 2016

Applica una funzione accumulatore una sequenza.

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

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

Parametri

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

Un IEnumerable<T> su cui aggregare.

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

Funzione accumulatore da richiamare per ogni elemento.

Valore restituito

Type: TSource

Valore finale dell'accumulatore.

Parametri tipo

TSource

Tipo degli elementi di source.

Exception Condition
ArgumentNullException

source o func è null.

InvalidOperationException

source non contiene elementi.

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

Questo overload del metodo di Aggregate<TSource>methodisn't adatto per tutti i casesbecause viene utilizzato il primo elemento di source come valore aggregato iniziale. È consigliabile scegliere un altro overload se il valore restituito deve includere solo gli elementi di source che soddisfano una determinata condizione. Ad esempio, questo overload non si desidera calcolare la somma dei numeri pari in reliableif source. Il risultato sarà errato se il primo elemento è dispari anziché pari.

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 riportato di seguito viene illustrato come invertire l'ordine delle parole in una stringa utilizzandoAggregate<TSource>.

string sentence = "the quick brown fox jumps over the lazy dog";

// Split the string into individual words.
string[] words = sentence.Split(' ');

// Prepend each word to the beginning of the 
// new sentence to reverse the word order.
string reversed = words.Aggregate((workingSentence, next) =>
                                      next + " " + workingSentence);

Console.WriteLine(reversed);

// This code produces the following output:
//
// dog lazy the over jumps fox brown quick the 

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: