Freigeben über


Queryable.Sum Methode

Definition

Berechnet die Summe einer Sequenz numerischer Werte.

Überlädt

Name Beschreibung
Sum(IQueryable<Single>)

Berechnet die Summe einer Folge von Single Werten.

Sum(IQueryable<Nullable<Single>>)

Berechnet die Summe einer Abfolge von Nullwerte Single .

Sum(IQueryable<Nullable<Int64>>)

Berechnet die Summe einer Abfolge von Nullwerte Int64 .

Sum(IQueryable<Nullable<Int32>>)

Berechnet die Summe einer Abfolge von Nullwerte Int32 .

Sum(IQueryable<Nullable<Double>>)

Berechnet die Summe einer Abfolge von Nullwerte Double .

Sum(IQueryable<Nullable<Decimal>>)

Berechnet die Summe einer Abfolge von Nullwerte Decimal .

Sum(IQueryable<Int64>)

Berechnet die Summe einer Folge von Int64 Werten.

Sum(IQueryable<Int32>)

Berechnet die Summe einer Folge von Int32 Werten.

Sum(IQueryable<Double>)

Berechnet die Summe einer Folge von Double Werten.

Sum(IQueryable<Decimal>)

Berechnet die Summe einer Folge von Decimal Werten.

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)

Berechnet die Summe der Abfolge von Single Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>)

Berechnet die Summe der Abfolge nullwertbarer Single Werte, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)

Berechnet die Summe der Abfolge nullwertbarer Int64 Werte, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)

Berechnet die Summe der Abfolge nullwertbarer Int32 Werte, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)

Berechnet die Summe der Abfolge nullwertbarer Double Werte, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)

Berechnet die Summe der Abfolge nullwertbarer Decimal Werte, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)

Berechnet die Summe der Abfolge von Int64 Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)

Berechnet die Summe der Abfolge von Int32 Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)

Berechnet die Summe der Abfolge von Double Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)

Berechnet die Summe der Abfolge von Decimal Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

Sum(IQueryable<Single>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe einer Folge von Single Werten.

public:
[System::Runtime::CompilerServices::Extension]
 static float Sum(System::Linq::IQueryable<float> ^ source);
public static float Sum(this System.Linq.IQueryable<float> source);
static member Sum : System.Linq.IQueryable<single> -> single
<Extension()>
Public Function Sum (source As IQueryable(Of Single)) As Single

Parameter

source
IQueryable<Single>

Eine Abfolge von Single Werten zum Berechnen der Summe von.

Gibt zurück

Die Summe der Werte in der Sequenz.

Ausnahmen

source ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum(IQueryable<Single>) die Werte einer Sequenz addiert werden.

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

float sum = numbers.AsQueryable().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.
*/
Dim numbers As New List(Of Single)(New Single() {43.68F, 1.25F, 583.7F, 6.5F})

Dim sum As Single = numbers.AsQueryable().Sum()

MsgBox("The sum of the numbers is " & sum)

' This code produces the following output:

' The sum of the numbers is 635.13.

Hinweise

Die Sum(IQueryable<Single>) Methode generiert eine MethodCallExpression , die den Aufruf Sum(IQueryable<Single>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum(IQueryable<Single>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass die Summe der Werte in source.

Gilt für:

Sum(IQueryable<Nullable<Single>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe einer Abfolge von Nullwerte Single .

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<float> Sum(System::Linq::IQueryable<Nullable<float>> ^ source);
public static float? Sum(this System.Linq.IQueryable<float?> source);
static member Sum : System.Linq.IQueryable<Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Single))) As Nullable(Of Single)

Parameter

source
IQueryable<Nullable<Single>>

Eine Abfolge nullabler Single Werte zum Berechnen der Summe von.

Gibt zurück

Die Summe der Werte in der Sequenz.

Ausnahmen

source ist null.

Beispiele

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

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

float? sum = points.AsQueryable().Sum();

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

/*
    This code produces the following output:

    Total points earned: 311.39
*/
Dim points As Nullable(Of Single)() = {Nothing, 0, 92.83F, Nothing, 100.0F, 37.46F, 81.1F}

Dim sum As Nullable(Of Single) = points.AsQueryable().Sum()

MsgBox("Total points earned: " & sum)

'This code produces the following output:

'Total points earned: 311.39

Hinweise

Die Sum(IQueryable<Nullable<Single>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum(IQueryable<Nullable<Single>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum(IQueryable<Nullable<Single>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass die Summe der Werte in source.

Gilt für:

Sum(IQueryable<Nullable<Int64>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe einer Abfolge von Nullwerte Int64 .

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<long> Sum(System::Linq::IQueryable<Nullable<long>> ^ source);
public static long? Sum(this System.Linq.IQueryable<long?> source);
static member Sum : System.Linq.IQueryable<Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Long))) As Nullable(Of Long)

Parameter

source
IQueryable<Nullable<Int64>>

Eine Abfolge nullabler Int64 Werte zum Berechnen der Summe von.

Gibt zurück

Die Summe der Werte in der Sequenz.

Ausnahmen

source ist null.

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

Hinweise

Die Sum(IQueryable<Nullable<Int64>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum(IQueryable<Nullable<Int64>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum(IQueryable<Nullable<Int64>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass die Summe der Werte in source.

Gilt für:

Sum(IQueryable<Nullable<Int32>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe einer Abfolge von Nullwerte Int32 .

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<int> Sum(System::Linq::IQueryable<Nullable<int>> ^ source);
public static int? Sum(this System.Linq.IQueryable<int?> source);
static member Sum : System.Linq.IQueryable<Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Integer))) As Nullable(Of Integer)

Parameter

source
IQueryable<Nullable<Int32>>

Eine Abfolge nullabler Int32 Werte zum Berechnen der Summe von.

Gibt zurück

Die Summe der Werte in der Sequenz.

Ausnahmen

source ist null.

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

Hinweise

Die Sum(IQueryable<Nullable<Int32>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum(IQueryable<Nullable<Int32>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum(IQueryable<Nullable<Int32>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass die Summe der Werte in source.

Gilt für:

Sum(IQueryable<Nullable<Double>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe einer Abfolge von Nullwerte Double .

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<double> Sum(System::Linq::IQueryable<Nullable<double>> ^ source);
public static double? Sum(this System.Linq.IQueryable<double?> source);
static member Sum : System.Linq.IQueryable<Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Double))) As Nullable(Of Double)

Parameter

source
IQueryable<Nullable<Double>>

Eine Abfolge nullabler Double Werte zum Berechnen der Summe von.

Gibt zurück

Die Summe der Werte in der Sequenz.

Ausnahmen

source ist null.

Hinweise

Die Sum(IQueryable<Nullable<Double>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum(IQueryable<Nullable<Double>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum(IQueryable<Nullable<Double>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass die Summe der Werte in source.

Gilt für:

Sum(IQueryable<Nullable<Decimal>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe einer Abfolge von Nullwerte Decimal .

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<System::Decimal> Sum(System::Linq::IQueryable<Nullable<System::Decimal>> ^ source);
public static decimal? Sum(this System.Linq.IQueryable<decimal?> source);
static member Sum : System.Linq.IQueryable<Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Decimal))) As Nullable(Of Decimal)

Parameter

source
IQueryable<Nullable<Decimal>>

Eine Abfolge nullabler Decimal Werte zum Berechnen der Summe von.

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(IQueryable<Nullable<Decimal>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum(IQueryable<Nullable<Decimal>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum(IQueryable<Nullable<Decimal>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass die Summe der Werte in source.

Gilt für:

Sum(IQueryable<Int64>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe einer Folge von Int64 Werten.

public:
[System::Runtime::CompilerServices::Extension]
 static long Sum(System::Linq::IQueryable<long> ^ source);
public static long Sum(this System.Linq.IQueryable<long> source);
static member Sum : System.Linq.IQueryable<int64> -> int64
<Extension()>
Public Function Sum (source As IQueryable(Of Long)) As Long

Parameter

source
IQueryable<Int64>

Eine Abfolge von Int64 Werten zum Berechnen der Summe von.

Gibt zurück

Die Summe der Werte in der Sequenz.

Ausnahmen

source ist null.

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

Hinweise

Die Sum(IQueryable<Int64>) Methode generiert eine MethodCallExpression , die den Aufruf Sum(IQueryable<Int64>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum(IQueryable<Int64>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass die Summe der Werte in source.

Gilt für:

Sum(IQueryable<Int32>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe einer Folge von Int32 Werten.

public:
[System::Runtime::CompilerServices::Extension]
 static int Sum(System::Linq::IQueryable<int> ^ source);
public static int Sum(this System.Linq.IQueryable<int> source);
static member Sum : System.Linq.IQueryable<int> -> int
<Extension()>
Public Function Sum (source As IQueryable(Of Integer)) As Integer

Parameter

source
IQueryable<Int32>

Eine Abfolge von Int32 Werten zum Berechnen der Summe von.

Gibt zurück

Die Summe der Werte in der Sequenz.

Ausnahmen

source ist null.

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

Hinweise

Die Sum(IQueryable<Int32>) Methode generiert eine MethodCallExpression , die den Aufruf Sum(IQueryable<Int32>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum(IQueryable<Int32>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass die Summe der Werte in source.

Gilt für:

Sum(IQueryable<Double>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe einer Folge von Double Werten.

public:
[System::Runtime::CompilerServices::Extension]
 static double Sum(System::Linq::IQueryable<double> ^ source);
public static double Sum(this System.Linq.IQueryable<double> source);
static member Sum : System.Linq.IQueryable<double> -> double
<Extension()>
Public Function Sum (source As IQueryable(Of Double)) As Double

Parameter

source
IQueryable<Double>

Eine Abfolge von Double Werten zum Berechnen der Summe von.

Gibt zurück

Die Summe der Werte in der Sequenz.

Ausnahmen

source ist null.

Hinweise

Die Sum(IQueryable<Double>) Methode generiert eine MethodCallExpression , die den Aufruf Sum(IQueryable<Double>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum(IQueryable<Double>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass die Summe der Werte in source.

Gilt für:

Sum(IQueryable<Decimal>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe einer Folge von Decimal Werten.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Decimal Sum(System::Linq::IQueryable<System::Decimal> ^ source);
public static decimal Sum(this System.Linq.IQueryable<decimal> source);
static member Sum : System.Linq.IQueryable<decimal> -> decimal
<Extension()>
Public Function Sum (source As IQueryable(Of Decimal)) As Decimal

Parameter

source
IQueryable<Decimal>

Eine Abfolge von Decimal Werten zum Berechnen der Summe von.

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(IQueryable<Decimal>) Methode generiert eine MethodCallExpression , die den Aufruf Sum(IQueryable<Decimal>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum(IQueryable<Decimal>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass die Summe der Werte in source.

Gilt für:

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe der Abfolge von Single Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static float Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, float> ^> ^ selector);
public static float Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,float>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static float Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,float>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, single>> -> single
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, single>> -> single
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Single))) As Single

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Eine Abfolge von Werten vom Typ TSource.

selector
Expression<Func<TSource,Single>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte.

Attribute

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) die projizierten Werte einer Sequenz addiert werden.

Hinweis

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

class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
}

public static void SumEx3()
{
    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 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().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
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Hinweise

Diese Methode verfügt über mindestens einen Typparameter Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben und zu einem Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass es für jedes Element source aufgerufen selector wird und die Summe der resultierenden Werte zurückgibt.

Gilt für:

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe der Abfolge nullwertbarer Single Werte, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<float> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<float>> ^> ^ selector);
public static float? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,float?>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static float? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,float?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<single>>> -> Nullable<single>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<single>>> -> Nullable<single>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Single)))) As Nullable(Of Single)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Eine Abfolge von Werten vom Typ TSource.

selector
Expression<Func<TSource,Nullable<Single>>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte.

Attribute

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) die projizierten Werte einer Sequenz addiert werden.

Hinweis

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

class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
}

public static void SumEx3()
{
    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 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().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
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Hinweise

Diese Methode verfügt über mindestens einen Typparameter Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben und zu einem Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass es für jedes Element source aufgerufen selector wird und die Summe der resultierenden Werte zurückgibt.

Gilt für:

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe der Abfolge nullwertbarer Int64 Werte, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<long> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<long>> ^> ^ selector);
public static long? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,long?>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static long? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,long?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<int64>>> -> Nullable<int64>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<int64>>> -> Nullable<int64>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Long)))) As Nullable(Of Long)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Eine Abfolge von Werten vom Typ TSource.

selector
Expression<Func<TSource,Nullable<Int64>>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte.

Attribute

Ausnahmen

source oder selector ist null.

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

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) die projizierten Werte einer Sequenz addiert werden.

Hinweis

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

class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
}

public static void SumEx3()
{
    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 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().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
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Hinweise

Diese Methode verfügt über mindestens einen Typparameter Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben und zu einem Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass es für jedes Element source aufgerufen selector wird und die Summe der resultierenden Werte zurückgibt.

Gilt für:

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe der Abfolge nullwertbarer Int32 Werte, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<int> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<int>> ^> ^ selector);
public static int? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int?>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static int? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<int>>> -> Nullable<int>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<int>>> -> Nullable<int>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Integer)))) As Nullable(Of Integer)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Eine Abfolge von Werten vom Typ TSource.

selector
Expression<Func<TSource,Nullable<Int32>>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte.

Attribute

Ausnahmen

source oder selector ist null.

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

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) die projizierten Werte einer Sequenz addiert werden.

Hinweis

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

class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
}

public static void SumEx3()
{
    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 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().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
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Hinweise

Diese Methode verfügt über mindestens einen Typparameter Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben und zu einem Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass es für jedes Element source aufgerufen selector wird und die Summe der resultierenden Werte zurückgibt.

Gilt für:

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe der Abfolge nullwertbarer Double Werte, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<double> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<double>> ^> ^ selector);
public static double? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,double?>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static double? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,double?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<double>>> -> Nullable<double>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<double>>> -> Nullable<double>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Double)))) As Nullable(Of Double)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Eine Abfolge von Werten vom Typ TSource.

selector
Expression<Func<TSource,Nullable<Double>>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte.

Attribute

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) die projizierten Werte einer Sequenz addiert werden.

Hinweis

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

class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
}

public static void SumEx3()
{
    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 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().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
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Hinweise

Diese Methode verfügt über mindestens einen Typparameter Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben und zu einem Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass es für jedes Element source aufgerufen selector wird und die Summe der resultierenden Werte zurückgibt.

Gilt für:

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe der Abfolge nullwertbarer Decimal Werte, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<System::Decimal> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<System::Decimal>> ^> ^ selector);
public static decimal? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,decimal?>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static decimal? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,decimal?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<decimal>>> -> Nullable<decimal>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<decimal>>> -> Nullable<decimal>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Decimal)))) As Nullable(Of Decimal)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Eine Abfolge von Werten vom Typ TSource.

selector
Expression<Func<TSource,Nullable<Decimal>>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte.

Attribute

Ausnahmen

source oder selector ist null.

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

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) die projizierten Werte einer Sequenz addiert werden.

Hinweis

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

class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
}

public static void SumEx3()
{
    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 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().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
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Hinweise

Diese Methode verfügt über mindestens einen Typparameter Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben und zu einem Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass es für jedes Element source aufgerufen selector wird und die Summe der resultierenden Werte zurückgibt.

Gilt für:

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe der Abfolge von Int64 Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static long Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, long> ^> ^ selector);
public static long Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,long>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static long Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,long>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int64>> -> int64
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int64>> -> int64
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Long))) As Long

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Eine Abfolge von Werten vom Typ TSource.

selector
Expression<Func<TSource,Int64>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte.

Attribute

Ausnahmen

source oder selector ist null.

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

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) die projizierten Werte einer Sequenz addiert werden.

Hinweis

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

class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
}

public static void SumEx3()
{
    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 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().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
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Hinweise

Diese Methode verfügt über mindestens einen Typparameter Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben und zu einem Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass es für jedes Element source aufgerufen selector wird und die Summe der resultierenden Werte zurückgibt.

Gilt für:

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe der Abfolge von Int32 Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static int Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, int> ^> ^ selector);
public static int Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static int Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int>> -> int
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int>> -> int
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Integer))) As Integer

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Eine Abfolge von Werten vom Typ TSource.

selector
Expression<Func<TSource,Int32>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte.

Attribute

Ausnahmen

source oder selector ist null.

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

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) die projizierten Werte einer Sequenz addiert werden.

Hinweis

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

class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
}

public static void SumEx3()
{
    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 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().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
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Hinweise

Diese Methode verfügt über mindestens einen Typparameter Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben und zu einem Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass es für jedes Element source aufgerufen selector wird und die Summe der resultierenden Werte zurückgibt.

Gilt für:

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe der Abfolge von Double Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static double Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, double> ^> ^ selector);
public static double Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,double>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static double Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,double>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, double>> -> double
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, double>> -> double
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Double))) As Double

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Eine Abfolge von Werten vom Typ TSource.

selector
Expression<Func<TSource,Double>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte.

Attribute

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) die projizierten Werte einer Sequenz addiert werden.

Hinweis

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

class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
}

public static void SumEx3()
{
    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 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().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
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Hinweise

Diese Methode verfügt über mindestens einen Typparameter Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben und zu einem Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass es für jedes Element source aufgerufen selector wird und die Summe der resultierenden Werte zurückgibt.

Gilt für:

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Berechnet die Summe der Abfolge von Decimal Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Decimal Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, System::Decimal> ^> ^ selector);
public static decimal Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,decimal>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static decimal Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,decimal>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, decimal>> -> decimal
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, decimal>> -> decimal
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Decimal))) As Decimal

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Eine Abfolge von Werten vom Typ TSource.

selector
Expression<Func<TSource,Decimal>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Die Summe der projizierten Werte.

Attribute

Ausnahmen

source oder selector ist null.

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

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) die projizierten Werte einer Sequenz addiert werden.

Hinweis

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

class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
}

public static void SumEx3()
{
    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 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().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
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Hinweise

Diese Methode verfügt über mindestens einen Typparameter Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben und zu einem Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) Methode generiert eine MethodCallExpression , die den Aufruf Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass es für jedes Element source aufgerufen selector wird und die Summe der resultierenden Werte zurückgibt.

Gilt für: