Esporta (0) Stampa
Espandi tutto

Metodo Enumerable.Sum<TSource> (IEnumerable<TSource>, Func<TSource, Nullable<Single>>)

Aggiornamento: novembre 2007

Calcola la somma della sequenza di valori Single nullable, ottenuti chiamando 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 Nullable<float> Sum<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, Nullable<float>> selector
)

J# supporta l'utilizzo di API generiche ma non la dichiarazione di nuove.
JScript non supporta i tipi o i metodi generici.

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

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

Sequenza di valori utilizzati per calcolare una somma.

selector
Tipo: System.Func<TSource, Nullable<Single>>

Funzione di trasformazione da applicare a ogni elemento.

Valore restituito

Tipo: System.Nullable<Single>

Somma dei valori proiettati.

Nota sull'utilizzo

In Visual Basic e C# è possibile chiamare questo metodo come metodo di istanza su qualsiasi oggetto di tipo IEnumerable<TSource>. Per chiamare il metodo utilizzando la sintassi del metodo di istanza, omettere il primo parametro. Per ulteriori informazioni, vedere Metodi di estensione (Visual Basic) o Metodi di estensione (Guida per programmatori C#).

EccezioneCondizione
ArgumentNullException

source o selector è null.

Il metodo restituisce zero se l'oggetto source non contiene elementi.

Il risultato non include valori null.

È possibile applicare questo metodo a una sequenza di valori arbitrari se si fornisce una funzione selector che proietta i membri di source in un tipo numerico, specificamente Nullable<Single> in C# o Nullable(Of Single) in Visual Basic.

Nella sintassi di una espressione di query in Visual Basic, una clausola Aggregate Into Sum() viene convertita in una chiamata di Sum.

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare l'oggetto Sum<TSource>(IEnumerable<TSource>, Func<TSource, Double>) per sommare i valori proiettati di una sequenza.

Nota:

In questo esempio di codice viene utilizzato un overload di questo metodo diverso dall'overload 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
*/



Windows Vista, Windows XP SP2, Windows Server 2003, Windows CE, Windows Mobile per Smartphone, Windows Mobile per Pocket PC

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5

.NET Compact Framework

Supportato in: 3.5

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft