Auf Englisch lesen

Freigeben über


Enumerable.Sum Methode

Definition

Berechnet die Summe einer Sequenz von numerischen Werten.

Überlädt

Sum(IEnumerable<Single>)

Berechnet die Summe einer Sequenz von Single-Werten

Sum(IEnumerable<Nullable<Int32>>)

Berechnet die Summe einer Sequenz von Int32-Werten, die NULL zulassen

Sum(IEnumerable<Nullable<Single>>)

Berechnet die Summe einer Sequenz von Single-Werten, die NULL zulassen

Sum(IEnumerable<Nullable<Int64>>)

Berechnet die Summe einer Sequenz von Int64-Werten, die NULL zulassen

Sum(IEnumerable<Nullable<Double>>)

Berechnet die Summe einer Sequenz von Double-Werten, die NULL zulassen

Sum(IEnumerable<Int32>)

Berechnet die Summe einer Sequenz von Int32-Werten

Sum(IEnumerable<Int64>)

Berechnet die Summe einer Sequenz von Int64-Werten

Sum(IEnumerable<Double>)

Berechnet die Summe einer Sequenz von Double-Werten

Sum(IEnumerable<Decimal>)

Berechnet die Summe einer Sequenz von Decimal-Werten

Sum(IEnumerable<Nullable<Decimal>>)

Berechnet die Summe einer Sequenz von Decimal-Werten, die NULL zulassen

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

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

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Berechnet die Summe einer Sequenz von Int64-Werten, die NULL zulassen, und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Berechnet die Summe einer Sequenz von Int32-Werten, die NULL zulassen, und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

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

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Berechnet die Summe einer Sequenz von Single-Werten, die NULL zulassen, und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

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

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

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

Sum<TSource>(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

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

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

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Berechnet die Summe einer Sequenz von Decimal-Werten, die NULL zulassen, und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

Sum(IEnumerable<Single>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Single-Werten

C#
public static float Sum (this System.Collections.Generic.IEnumerable<float> source);

Parameter

source
IEnumerable<Single>

Eine Sequenz von Single-Werten, deren Summe berechnet werden soll

Gibt zurück

Die Summe der Werte in der Sequenz

Ausnahmen

source ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Sum(IEnumerable<Single>) Werte einer Sequenz mit summiert werden.

C#
List<float> numbers = new List<float> { 43.68F, 1.25F, 583.7F, 6.5F };

float sum = numbers.Sum();

Console.WriteLine("The sum of the numbers is {0}.", sum);

/*
 This code produces the following output:

 The sum of the numbers is 635.13.
*/

Hinweise

Diese Methode gibt null zurück, wenn source keine Elemente enthalten sind.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Nullable<Int32>>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Int32-Werten, die NULL zulassen

C#
public static int? Sum (this System.Collections.Generic.IEnumerable<int?> source);

Parameter

source
IEnumerable<Nullable<Int32>>

Eine Sequenz von Int32-Werten, die NULL zulassen, und deren Summe berechnet werden soll

Gibt zurück

Die Summe der Werte in der Sequenz

Ausnahmen

source ist null

Die Summe ist größer als Int32.MaxValue.

Hinweise

Elemente in source , die von der Berechnung der Summe ausgeschlossen sind null . Diese Methode gibt null zurück, wenn source keine Elemente enthalten oder alle Elemente sind null.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Nullable<Single>>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Single-Werten, die NULL zulassen

C#
public static float? Sum (this System.Collections.Generic.IEnumerable<float?> source);

Parameter

source
IEnumerable<Nullable<Single>>

Eine Sequenz von Single-Werten, die NULL zulassen, und deren Summe berechnet werden soll

Gibt zurück

Die Summe der Werte in der Sequenz

Ausnahmen

source ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Sum(IEnumerable<Nullable<Single>>) Werte einer Sequenz mit summiert werden.

C#
float?[] points = { null, 0, 92.83F, null, 100.0F, 37.46F, 81.1F };

float? sum = points.Sum();

Console.WriteLine("Total points earned: {0}", sum);

/*
 This code produces the following output:

 Total points earned: 311.39
*/

Hinweise

Elemente in source , die von der Berechnung der Summe ausgeschlossen sind null . Diese Methode gibt null zurück, wenn source keine Elemente enthalten oder alle Elemente sind null.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Nullable<Int64>>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Int64-Werten, die NULL zulassen

C#
public static long? Sum (this System.Collections.Generic.IEnumerable<long?> source);

Parameter

source
IEnumerable<Nullable<Int64>>

Eine Sequenz von Int64-Werten, die NULL zulassen, und deren Summe berechnet werden soll

Gibt zurück

Die Summe der Werte in der Sequenz

Ausnahmen

source ist null

Die Summe ist größer als Int64.MaxValue.

Hinweise

Elemente in source , die von der Berechnung der Summe ausgeschlossen sind null . Diese Methode gibt null zurück, wenn source keine Elemente enthalten oder alle Elemente sind null.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Nullable<Double>>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Double-Werten, die NULL zulassen

C#
public static double? Sum (this System.Collections.Generic.IEnumerable<double?> source);

Parameter

source
IEnumerable<Nullable<Double>>

Eine Sequenz von Double-Werten, die NULL zulassen, und deren Summe berechnet werden soll

Gibt zurück

Die Summe der Werte in der Sequenz

Ausnahmen

source ist null

Die Summe ist größer als Double.MaxValue.

Hinweise

Elemente in source , die von der Berechnung der Summe ausgeschlossen sind null . Diese Methode gibt null zurück, wenn source keine Elemente enthalten oder alle Elemente sind null.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Int32>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Int32-Werten

C#
public static int Sum (this System.Collections.Generic.IEnumerable<int> source);

Parameter

source
IEnumerable<Int32>

Eine Sequenz von Int32-Werten, deren Summe berechnet werden soll

Gibt zurück

Die Summe der Werte in der Sequenz

Ausnahmen

source ist null

Die Summe ist größer als Int32.MaxValue.

Hinweise

Diese Methode gibt null zurück, wenn source keine Elemente enthalten sind.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Int64>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Int64-Werten

C#
public static long Sum (this System.Collections.Generic.IEnumerable<long> source);

Parameter

source
IEnumerable<Int64>

Eine Sequenz von Int64-Werten, deren Summe berechnet werden soll

Gibt zurück

Die Summe der Werte in der Sequenz

Ausnahmen

source ist null

Die Summe ist größer als Int64.MaxValue.

Hinweise

Diese Methode gibt null zurück, wenn source keine Elemente enthalten sind.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Double>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Double-Werten

C#
public static double Sum (this System.Collections.Generic.IEnumerable<double> source);

Parameter

source
IEnumerable<Double>

Eine Sequenz von Double-Werten, deren Summe berechnet werden soll

Gibt zurück

Die Summe der Werte in der Sequenz

Ausnahmen

source ist null

Die Summe ist größer als Double.MaxValue.

Hinweise

Diese Methode gibt null zurück, wenn source keine Elemente enthalten sind.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Decimal>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Decimal-Werten

C#
public static decimal Sum (this System.Collections.Generic.IEnumerable<decimal> source);

Parameter

source
IEnumerable<Decimal>

Eine Sequenz von Decimal-Werten, deren Summe berechnet werden soll

Gibt zurück

Die Summe der Werte in der Sequenz

Ausnahmen

source ist null

Die Summe ist größer als Decimal.MaxValue.

Hinweise

Die Sum(IEnumerable<Decimal>) -Methode gibt null zurück, wenn source keine Elemente enthalten sind.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum(IEnumerable<Nullable<Decimal>>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Decimal-Werten, die NULL zulassen

C#
public static decimal? Sum (this System.Collections.Generic.IEnumerable<decimal?> source);

Parameter

source
IEnumerable<Nullable<Decimal>>

Eine Sequenz von Decimal-Werten, die NULL zulassen, und deren Summe berechnet werden soll

Gibt zurück

Die Summe der Werte in der Sequenz

Ausnahmen

source ist null

Die Summe ist größer als Decimal.MaxValue.

Hinweise

Elemente, die in source sind null , werden von der Berechnung der Summe ausgeschlossen. Diese Methode gibt null zurück, wenn source keine Elemente oder alle Elemente enthalten sind null.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

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

C#
public static float Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float> selector);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

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

selector
Func<TSource,Single>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) die projizierten Werte einer Sequenz mit summiert werden.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Die Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>) -Methode gibt null zurück, wenn source keine Elemente enthalten sind.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Single.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Int64-Werten, die NULL zulassen, und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

C#
public static long? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long?> selector);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Int64>>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte

Ausnahmen

source oder selector ist null.

Die Summe ist größer als Int64.MaxValue.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) die projizierten Werte einer Sequenz mit summiert werden.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Elemente, die in source sind null , werden von der Berechnung der Summe ausgeschlossen. Diese Methode gibt null zurück, wenn source keine Elemente oder alle Elemente enthalten sind null.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Nullable<Int64> in C# oder Nullable(Of Int64) in Visual Basic.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Int32-Werten, die NULL zulassen, und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

C#
public static int? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int?> selector);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Int32>>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte

Ausnahmen

source oder selector ist null.

Die Summe ist größer als Int32.MaxValue.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) die projizierten Werte einer Sequenz mit summiert werden.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Elemente, die in source sind null , werden von der Berechnung der Summe ausgeschlossen. Diese Methode gibt null zurück, wenn source keine Elemente oder alle Elemente enthalten sind null.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Nullable<Int32> in C# oder Nullable(Of Int32) in Visual Basic.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

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

C#
public static double? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double?> selector);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Double>>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte

Ausnahmen

source oder selector ist null.

Die Summe ist größer als Double.MaxValue.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) die projizierten Werte einer Sequenz mit summiert werden.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Elemente, die in source sind null , werden von der Berechnung der Summe ausgeschlossen. Diese Methode gibt null zurück, wenn source keine Elemente oder alle Elemente enthalten sind null.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Nullable<Double> in C# oder Nullable(Of Double) in Visual Basic.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Single-Werten, die NULL zulassen, und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

C#
public static float? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float?> selector);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Single>>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) die projizierten Werte einer Sequenz mit summiert werden.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Elemente, die in source sind null , werden von der Berechnung der Summe ausgeschlossen. Diese Methode gibt null zurück, wenn source keine Elemente oder alle Elemente enthalten sind null.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Nullable<Single> in C# oder Nullable(Of Single) in Visual Basic.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

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

C#
public static long Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long> selector);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

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

selector
Func<TSource,Int64>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte

Ausnahmen

source oder selector ist null.

Die Summe ist größer als Int64.MaxValue.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) die projizierten Werte einer Sequenz mit summiert werden.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Diese Methode gibt null zurück, wenn source keine Elemente enthalten sind.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Int64.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

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

C#
public static int Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int> selector);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

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

selector
Func<TSource,Int32>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte

Ausnahmen

source oder selector ist null.

Die Summe ist größer als Int32.MaxValue.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) die projizierten Werte einer Sequenz mit summiert werden.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Diese Methode gibt null zurück, wenn source keine Elemente enthalten sind.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Int32.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

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

C#
public static double Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double> selector);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

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

selector
Func<TSource,Double>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte

Ausnahmen

source oder selector ist null.

Die Summe ist größer als Double.MaxValue.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) die projizierten Werte einer Sequenz mit summiert werden.

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

Hinweise

Diese Methode gibt null zurück, wenn source keine Elemente enthalten sind.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Double.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

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

C#
public static decimal Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal> selector);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

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

selector
Func<TSource,Decimal>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte

Ausnahmen

source oder selector ist null.

Die Summe ist größer als Decimal.MaxValue.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) die projizierten Werte einer Sequenz mit summiert werden.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Diese Methode gibt null zurück, wenn source keine Elemente enthalten sind.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Decimal.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Quelle:
Sum.cs
Quelle:
Sum.cs
Quelle:
Sum.cs

Berechnet die Summe einer Sequenz von Decimal-Werten, die NULL zulassen, und die durch den Aufruf einer Transformationsfunktion für jedes Element der Eingabesequenz ermittelt werden

C#
public static decimal? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal?> selector);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Decimal>>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte

Ausnahmen

source oder selector ist null.

Die Summe ist größer als Decimal.MaxValue.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) die projizierten Werte einer Sequenz mit summiert werden.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Elemente, die in source sind null , werden von der Berechnung der Summe ausgeschlossen. Diese Methode gibt null zurück, wenn source keine Elemente oder alle Elemente enthalten sind null.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Nullable<Decimal> in C# oder Nullable(Of Decimal) in Visual Basic.

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

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0