Sum(TSource) Méthode (IEnumerable(TSource), Func(TSource, Nullable(Int64)))
Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Enumerable.Sum<TSource>, méthode (IEnumerable<TSource>, Func<TSource, Nullable<Int64>>)

 

Calcule la somme de la séquence de nullable Int64 valeurs obtenues en appelant une fonction de transformation sur chaque élément de la séquence d'entrée.

Espace de noms:   System.Linq
Assembly:  System.Core (dans System.Core.dll)

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

Paramètres

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

Une séquence de valeurs qui sont utilisées pour calculer une somme.

selector
Type: System.Func<TSource, Nullable<Int64>>

Fonction de transformation à appliquer à chaque élément.

Valeur de retour

Type: System.Nullable<Int64>

La somme des valeurs projetées.

Paramètres de type

TSource

Le type des éléments de source.

Exception Condition
ArgumentNullException

source ou selector a la valeur null.

OverflowException

La somme est supérieure à MaxValue.

Cette méthode retourne zéro si source ne contient aucun élément.

Le résultat n'inclut pas les valeurs null.

Vous pouvez appliquer cette méthode à une séquence de valeurs arbitraires si vous fournissez une fonction, selector, qui projette les membres de source dans un type numérique, en particulier Nullable<Int64> en c# ou Nullable(Of Int64) dans Visual Basic

Dans Visual Basic syntaxe d'expression de requête une Aggregate Into Sum() clause se traduit par un appel à Sum.

L'exemple de code suivant montre comment utiliser Sum<TSource>(IEnumerable<TSource>, Func<TSource, Double>) à la somme des valeurs projetées d'une séquence.

System_CAPS_noteRemarque

Cet exemple de code utilise une surcharge de cette méthode surchargée qui est différente de la surcharge spécifique décrite par cette rubrique. Pour étendre l'exemple à cette rubrique, modifiez le corps de la fonction sélecteur.

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
Disponible depuis 8
.NET Framework
Disponible depuis 3.5
Portable Class Library
Pris en charge dans : portable .NET platforms
Silverlight
Disponible depuis 2.0
Windows Phone Silverlight
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher:
© 2016 Microsoft