Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

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

 

Veröffentlicht: Oktober 2016

Berechnet die Summe einer Sequenz von Double Werte, 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
)

Parameter

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

Eine Sequenz von Werten, die verwendet werden, um eine Summe zu berechnen.

selector
Type: System.Func<TSource, Double>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Rückgabewert

Type: System.Double

Die Summe der projizierten Werte.

Typparameter

TSource

Der Typ der Elemente von source.

Exception Condition
ArgumentNullException

source oder selector ist null.

Diese Methode gibt NULL, wenn source enthält keine Elemente.

Sie können diese Methode auf eine Sequenz von beliebigen Werten anwenden, wenn Sie eine Funktion selector, projiziert die Elemente der source in einen numerischen Typ, insbesondere Double.

In Visual Basic Abfragen Ausdruckssyntax, ein Aggregate Into Sum() -Klausel übersetzt in einen Aufruf von Sum.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie Sum<TSource>(IEnumerable<TSource>, Func<TSource, Double>) Summe der projizierten Werte einer Sequenz.

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

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: