(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Enumerable.Sum<TSource>-Methode (IEnumerable<TSource>, Func<TSource, Double>)

Berechnet die Summe einer Sequenz von Double-Werten, die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden.

Namespace:  System.Linq
Assembly:  System.Core (in System.Core.dll)

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
Typ: System.Collections.Generic.IEnumerable<TSource>
Eine Sequenz von Werten, die zum Berechnen einer Summe verwendet werden.
selector
Typ: System.Func<TSource, Double>
Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Rückgabewert

Typ: System.Double
Die Summe der projizierten Werte.

Hinweis zur Verwendung

In Visual Basic und C# können Sie diese Methode als Instanzenmethode für ein beliebiges Objekt vom Typ IEnumerable<TSource> aufrufen. Bei Verwendung der Syntax für Instanzenmethoden lassen Sie den ersten Parameter aus. Weitere Informationen finden Sie unter Erweiterungsmethoden (Visual Basic) und Erweiterungsmethoden (C#-Programmierhandbuch).

AusnahmeBedingung
ArgumentNullException

source oder selector ist null.

Diese Methode gibt 0 (null) zurück, wenn source keine Elemente enthält.

Sie können diese Methode auf eine Sequenz von beliebigen Werten anwenden, wenn Sie die Funktion selector angeben, die die Member von source in einen numerischen Typ, und zwar in Double, projiziert.

In der Syntax eines Visual Basic-Abfrageausdrucks wird eine Aggregate Into Sum()-Klausel in einen Aufruf von Sum übersetzt.

Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe von Sum<TSource>(IEnumerable<TSource>, Func<TSource, Double>) die Projektionswerte einer Sequenz addiert werden.


            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

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: 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 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft