Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

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

Calcule la somme d'une séquence de valeurs Int64 nullables 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 de type

TSource

Type des éléments de source.

Paramètres

source
Type : System.Collections.Generic.IEnumerable<TSource>
Séquence de valeurs 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>
Somme des valeurs projetées.

Remarque sur l'utilisation

En Visual Basic et C#, vous pouvez appeler cette méthode comme une méthode d'instance sur n'importe quel objet de type IEnumerable<TSource>. Lorsque vous utilisez la syntaxe des méthodes d'instance pour appeler cette méthode, omettez le premier paramètre. Pour plus d'informations, consultez Méthodes d'extension (Visual Basic) ou Méthodes d'extension (Guide de programmation C#).

ExceptionCondition
ArgumentNullException

source ou selector est 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, notamment Nullable<Int64> en C# ou Nullable(Of Int64) dans Visual Basic.

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

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

RemarqueRemarque

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



.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft