Enumerable.Sum Metodo

Definizione

Calcola la somma di una sequenza di valori numerici.

Overload

Sum(IEnumerable<Single>)

Calcola la somma di una sequenza di valori Single.

Sum(IEnumerable<Nullable<Int32>>)

Calcola la somma di una sequenza che ammette valori Int32 nullable.

Sum(IEnumerable<Nullable<Single>>)

Calcola la somma di una sequenza che ammette valori Single nullable.

Sum(IEnumerable<Nullable<Int64>>)

Calcola la somma di una sequenza che ammette valori Int64 nullable.

Sum(IEnumerable<Nullable<Double>>)

Calcola la somma di una sequenza che ammette valori Double nullable.

Sum(IEnumerable<Int32>)

Calcola la somma di una sequenza di valori Int32.

Sum(IEnumerable<Int64>)

Calcola la somma di una sequenza di valori Int64.

Sum(IEnumerable<Double>)

Calcola la somma di una sequenza di valori Double.

Sum(IEnumerable<Decimal>)

Calcola la somma di una sequenza di valori Decimal.

Sum(IEnumerable<Nullable<Decimal>>)

Calcola la somma di una sequenza che ammette valori Decimal nullable.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

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

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

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

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Calcola la somma della sequenza di valori Int32 nullable, ottenuti chiamando una funzione di trasformazione su ogni elemento della sequenza di input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Calcola la somma della sequenza di valori Double nullable, ottenuti chiamando una funzione di trasformazione su ogni elemento della sequenza di input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Calcola la somma della sequenza di valori Single nullable, ottenuti chiamando una funzione di trasformazione su ogni elemento della sequenza di input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

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

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

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

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

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

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

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

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Calcola la somma della sequenza di valori Decimal nullable, ottenuti chiamando una funzione di trasformazione su ogni elemento della sequenza di input.

Sum(IEnumerable<Single>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma di una sequenza di valori Single.

C#
public static float Sum (this System.Collections.Generic.IEnumerable<float> source);

Parametri

source
IEnumerable<Single>

Sequenza di valori Single di cui calcolare la somma.

Restituisce

Somma dei valori della sequenza.

Eccezioni

source è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum(IEnumerable<Single>) per sommare i valori di una sequenza.

C#
List<float> numbers = new List<float> { 43.68F, 1.25F, 583.7F, 6.5F };

float sum = numbers.Sum();

Console.WriteLine("The sum of the numbers is {0}.", sum);

/*
 This code produces the following output:

 The sum of the numbers is 635.13.
*/

Commenti

Questo metodo restituisce zero se source non contiene elementi.

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Nullable<Int32>>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma di una sequenza che ammette valori Int32 nullable.

C#
public static int? Sum (this System.Collections.Generic.IEnumerable<int?> source);

Parametri

source
IEnumerable<Nullable<Int32>>

Sequenza che ammette valori Int32 nullable di cui calcolare la somma.

Restituisce

Somma dei valori della sequenza.

Eccezioni

source è null.

La somma è maggiore di Int32.MaxValue.

Commenti

Gli elementi in source che sono null esclusi dal calcolo della somma. Questo metodo restituisce zero se source non contiene elementi o tutti gli elementi sono null.

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Nullable<Single>>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma di una sequenza che ammette valori Single nullable.

C#
public static float? Sum (this System.Collections.Generic.IEnumerable<float?> source);

Parametri

source
IEnumerable<Nullable<Single>>

Sequenza che ammette valori Single nullable di cui calcolare la somma.

Restituisce

Somma dei valori della sequenza.

Eccezioni

source è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum(IEnumerable<Nullable<Single>>) per sommare i valori di una sequenza.

C#
float?[] points = { null, 0, 92.83F, null, 100.0F, 37.46F, 81.1F };

float? sum = points.Sum();

Console.WriteLine("Total points earned: {0}", sum);

/*
 This code produces the following output:

 Total points earned: 311.39
*/

Commenti

Gli elementi in source che sono null esclusi dal calcolo della somma. Questo metodo restituisce zero se source non contiene elementi o tutti gli elementi sono null.

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Nullable<Int64>>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma di una sequenza che ammette valori Int64 nullable.

C#
public static long? Sum (this System.Collections.Generic.IEnumerable<long?> source);

Parametri

source
IEnumerable<Nullable<Int64>>

Sequenza che ammette valori Int64 nullable di cui calcolare la somma.

Restituisce

Somma dei valori della sequenza.

Eccezioni

source è null.

La somma è maggiore di Int64.MaxValue.

Commenti

Gli elementi in source che sono null esclusi dal calcolo della somma. Questo metodo restituisce zero se source non contiene elementi o tutti gli elementi sono null.

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Nullable<Double>>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma di una sequenza che ammette valori Double nullable.

C#
public static double? Sum (this System.Collections.Generic.IEnumerable<double?> source);

Parametri

source
IEnumerable<Nullable<Double>>

Sequenza che ammette valori Double nullable di cui calcolare la somma.

Restituisce

Somma dei valori della sequenza.

Eccezioni

source è null.

La somma è maggiore di Double.MaxValue.

Commenti

Gli elementi in source che sono null esclusi dal calcolo della somma. Questo metodo restituisce zero se source non contiene elementi o tutti gli elementi sono null.

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Int32>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma di una sequenza di valori Int32.

C#
public static int Sum (this System.Collections.Generic.IEnumerable<int> source);

Parametri

source
IEnumerable<Int32>

Sequenza di valori Int32 di cui calcolare la somma.

Restituisce

Somma dei valori della sequenza.

Eccezioni

source è null.

La somma è maggiore di Int32.MaxValue.

Commenti

Questo metodo restituisce zero se source non contiene elementi.

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Int64>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma di una sequenza di valori Int64.

C#
public static long Sum (this System.Collections.Generic.IEnumerable<long> source);

Parametri

source
IEnumerable<Int64>

Sequenza di valori Int64 di cui calcolare la somma.

Restituisce

Somma dei valori della sequenza.

Eccezioni

source è null.

La somma è maggiore di Int64.MaxValue.

Commenti

Questo metodo restituisce zero se source non contiene elementi.

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Double>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma di una sequenza di valori Double.

C#
public static double Sum (this System.Collections.Generic.IEnumerable<double> source);

Parametri

source
IEnumerable<Double>

Sequenza di valori Double di cui calcolare la somma.

Restituisce

Somma dei valori della sequenza.

Eccezioni

source è null.

La somma è maggiore di Double.MaxValue.

Commenti

Questo metodo restituisce zero se source non contiene elementi.

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Decimal>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma di una sequenza di valori Decimal.

C#
public static decimal Sum (this System.Collections.Generic.IEnumerable<decimal> source);

Parametri

source
IEnumerable<Decimal>

Sequenza di valori Decimal di cui calcolare la somma.

Restituisce

Somma dei valori della sequenza.

Eccezioni

source è null.

La somma è maggiore di Decimal.MaxValue.

Commenti

Il Sum(IEnumerable<Decimal>) metodo restituisce zero se source non contiene elementi.

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Nullable<Decimal>>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma di una sequenza che ammette valori Decimal nullable.

C#
public static decimal? Sum (this System.Collections.Generic.IEnumerable<decimal?> source);

Parametri

source
IEnumerable<Nullable<Decimal>>

Sequenza che ammette valori Decimal nullable di cui calcolare la somma.

Restituisce

Somma dei valori della sequenza.

Eccezioni

source è null.

La somma è maggiore di Decimal.MaxValue.

Commenti

Gli elementi in source che sono null esclusi dal calcolo della somma. Questo metodo restituisce zero se source non contiene elementi o tutti gli elementi sono null.

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

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

C#
public static float Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori utilizzati per calcolare una somma.

selector
Func<TSource,Single>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Eccezioni

source o selector è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) per sommare i valori proiettati di una sequenza.

Nota

In questo esempio di codice viene usato un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

C#
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
*/

Commenti

Il Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>) metodo restituisce zero se source non contiene elementi.

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

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

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

C#
public static long? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long?> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori utilizzati per calcolare una somma.

selector
Func<TSource,Nullable<Int64>>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Eccezioni

source o selector è null.

La somma è maggiore di Int64.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) per sommare i valori proiettati di una sequenza.

Nota

In questo esempio di codice viene usato un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

C#
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
*/

Commenti

Gli elementi in source che sono null esclusi dal calcolo della somma. Questo metodo restituisce zero se source non contiene elementi o tutti gli elementi sono null.

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

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma della sequenza di valori Int32 nullable, ottenuti chiamando una funzione di trasformazione su ogni elemento della sequenza di input.

C#
public static int? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int?> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori utilizzati per calcolare una somma.

selector
Func<TSource,Nullable<Int32>>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Eccezioni

source o selector è null.

La somma è maggiore di Int32.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) per sommare i valori proiettati di una sequenza.

Nota

In questo esempio di codice viene usato un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

C#
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
*/

Commenti

Gli elementi in source che sono null esclusi dal calcolo della somma. Questo metodo restituisce zero se source non contiene elementi o tutti gli elementi sono null.

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

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma della sequenza di valori Double nullable, ottenuti chiamando una funzione di trasformazione su ogni elemento della sequenza di input.

C#
public static double? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double?> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori utilizzati per calcolare una somma.

selector
Func<TSource,Nullable<Double>>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Eccezioni

source o selector è null.

La somma è maggiore di Double.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) per sommare i valori proiettati di una sequenza.

Nota

In questo esempio di codice viene usato un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

C#
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
*/

Commenti

Gli elementi in source che sono null esclusi dal calcolo della somma. Questo metodo restituisce zero se source non contiene elementi o tutti gli elementi sono null.

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

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma della sequenza di valori Single nullable, ottenuti chiamando una funzione di trasformazione su ogni elemento della sequenza di input.

C#
public static float? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float?> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori utilizzati per calcolare una somma.

selector
Func<TSource,Nullable<Single>>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Eccezioni

source o selector è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) per sommare i valori proiettati di una sequenza.

Nota

In questo esempio di codice viene usato un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

C#
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
*/

Commenti

Gli elementi in source che sono null esclusi dal calcolo della somma. Questo metodo restituisce zero se source non contiene elementi o tutti gli elementi sono null.

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

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

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

C#
public static long Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori utilizzati per calcolare una somma.

selector
Func<TSource,Int64>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Eccezioni

source o selector è null.

La somma è maggiore di Int64.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) per sommare i valori proiettati di una sequenza.

Nota

In questo esempio di codice viene usato un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

C#
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
*/

Commenti

Questo metodo restituisce zero se source non contiene elementi.

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

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

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

C#
public static int Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori utilizzati per calcolare una somma.

selector
Func<TSource,Int32>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Eccezioni

source o selector è null.

La somma è maggiore di Int32.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) per sommare i valori proiettati di una sequenza.

Nota

In questo esempio di codice viene usato un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

C#
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
*/

Commenti

Questo metodo restituisce zero se source non contiene elementi.

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

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

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

C#
public static double Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori utilizzati per calcolare una somma.

selector
Func<TSource,Double>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Eccezioni

source o selector è null.

La somma è maggiore di Double.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) per sommare i valori proiettati di una sequenza.

C#
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
*/

Commenti

Questo metodo restituisce zero se source non contiene elementi.

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

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

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

C#
public static decimal Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori utilizzati per calcolare una somma.

selector
Func<TSource,Decimal>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Eccezioni

source o selector è null.

La somma è maggiore di Decimal.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) per sommare i valori proiettati di una sequenza.

Nota

In questo esempio di codice viene usato un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

C#
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
*/

Commenti

Questo metodo restituisce zero se source non contiene elementi.

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

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Origine:
Sum.cs
Origine:
Sum.cs
Origine:
Sum.cs

Calcola la somma della sequenza di valori Decimal nullable, ottenuti chiamando una funzione di trasformazione su ogni elemento della sequenza di input.

C#
public static decimal? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal?> selector);

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Sequenza di valori utilizzati per calcolare una somma.

selector
Func<TSource,Nullable<Decimal>>

Funzione di trasformazione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Eccezioni

source o selector è null.

La somma è maggiore di Decimal.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) per sommare i valori proiettati di una sequenza.

Nota

In questo esempio di codice viene usato un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

C#
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
*/

Commenti

Gli elementi in source che sono null esclusi dal calcolo della somma. Questo metodo restituisce zero se source non contiene elementi o tutti gli elementi sono null.

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

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

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0