Sum(TSource) Metodo (IEnumerable(TSource), Func(TSource, Int64))
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.Sum<TSource>(IEnumerable<TSource>, Func<TSource, Int64>)

 

Calcola la somma della sequenza di Int64 valori ottenuti richiamando una funzione di trasformazione su ogni elemento della sequenza di input.

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

public static long Sum<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, long> selector
)

Parametri

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

Una sequenza di valori che vengono utilizzati per calcolare una somma.

selector
Type: System.Func<TSource, Int64>

Funzione di trasformazione da applicare a ogni elemento.

Valore restituito

Type: System.Int64

La somma dei valori previsti.

Parametri di tipo

TSource

Tipo degli elementi di source.

Exception Condition
ArgumentNullException

source o selector è null.

OverflowException

La somma è maggiore di MaxValue.

Questo metodo restituisce zero se source non contiene elementi.

È possibile applicare questo metodo in una sequenza di valori arbitrari se si fornisce una funzione, selector, che proietta i membri di source in un tipo numerico, in particolare Int64.

In Visual Basic sintassi dell'espressione di query un Aggregate Into Sum() clausola viene convertita in una chiamata di Sum.

Esempio di codice seguente viene illustrato come utilizzare Sum<TSource>(IEnumerable<TSource>, Func<TSource, Double>) per sommare i valori previsti di una sequenza.

System_CAPS_noteNota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento. Per estendere l'esempio a questo argomento, modificare il corpo della funzione selector.

class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
}

public static void SumEx1()
{
    List<Package> packages =
        new List<Package> 
            { new Package { Company = "Coho Vineyard", Weight = 25.2 },
              new Package { Company = "Lucerne Publishing", Weight = 18.7 },
              new Package { Company = "Wingtip Toys", Weight = 6.0 },
              new Package { Company = "Adventure Works", Weight = 33.8 } };

    double totalWeight = packages.Sum(pkg => pkg.Weight);

    Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}

/*
 This code produces the following output:

 The total weight of the packages is: 83.7
*/

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Portable Class Library
Supportato in: portable .NET platforms
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra:
© 2016 Microsoft