Sum(TSource) Methode (IEnumerable(TSource), Func(TSource, Int64))
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, Int64>)

.NET Framework (current version)
 

Berechnet die Summe einer Sequenz von Int64-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 long Sum<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, long> selector
)

Parameter

source

Eine Sequenz von Werten, die zum Berechnen einer Summe verwendet werden.

selector

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Rückgabewert

Type: System.Int64

Die Summe der projizierten Werte.

Typparameter

TSource

Der Typ der Elemente von source.

Exception Condition
ArgumentNullException

source oder selector ist null.

OverflowException

Die Summe ist größer als MaxValue.

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 Int64, 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.

System_CAPS_noteHinweis

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht. Um das Beispiel für dieses Thema zu erweitern, ändern Sie den Text der selector-Funktion.

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
Verfügbar seit 4.5
.NET Framework
Verfügbar seit 3.5
Portable Class Library
Unterstützt in: portable .NET platforms
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:
© 2016 Microsoft