Queryable.Sum Method

Definition

Berechnet die Summe einer Sequenz von numerischen Werten.Computes the sum of a sequence of numeric values.

Overloads

Sum(IQueryable<Single>)

Berechnet die Summe einer Sequenz von Single-WertenComputes the sum of a sequence of Single values.

Sum(IQueryable<Nullable<Single>>)

Berechnet die Summe einer Sequenz von Single-Werten, die NULL zulassenComputes the sum of a sequence of nullable Single values.

Sum(IQueryable<Nullable<Int64>>)

Berechnet die Summe einer Sequenz von Int64-Werten, die NULL zulassenComputes the sum of a sequence of nullable Int64 values.

Sum(IQueryable<Nullable<Int32>>)

Berechnet die Summe einer Sequenz von Int32-Werten, die NULL zulassenComputes the sum of a sequence of nullable Int32 values.

Sum(IQueryable<Nullable<Double>>)

Berechnet die Summe einer Sequenz von Double-Werten, die NULL zulassenComputes the sum of a sequence of nullable Double values.

Sum(IQueryable<Int32>)

Berechnet die Summe einer Sequenz von Int32-WertenComputes the sum of a sequence of Int32 values.

Sum(IQueryable<Int64>)

Berechnet die Summe einer Sequenz von Int64-WertenComputes the sum of a sequence of Int64 values.

Sum(IQueryable<Nullable<Decimal>>)

Berechnet die Summe einer Sequenz von Decimal-Werten, die NULL zulassenComputes the sum of a sequence of nullable Decimal values.

Sum(IQueryable<Double>)

Berechnet die Summe einer Sequenz von Double-WertenComputes the sum of a sequence of Double values.

Sum(IQueryable<Decimal>)

Berechnet die Summe einer Sequenz von Decimal-WertenComputes the sum of a sequence of Decimal values.

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

Berechnet die Summe einer Sequenz von Single-Werten, die NULL zulassen, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of nullable Single values that is obtained by invoking a projection function on each element of the input sequence.

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

Berechnet die Summe einer Sequenz von Int64-Werten, die NULL zulassen, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of nullable Int64 values that is obtained by invoking a projection function on each element of the input sequence.

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

Berechnet die Summe einer Sequenz von Int32-Werten, die NULL zulassen, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of nullable Int32 values that is obtained by invoking a projection function on each element of the input sequence.

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

Berechnet die Summe einer Sequenz von Double-Werten, die NULL zulassen, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of nullable Double values that is obtained by invoking a projection function on each element of the input sequence.

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

Berechnet die Summe einer Sequenz von Single-Werten, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of Single values that is obtained by invoking a projection function on each element of the input sequence.

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

Berechnet die Summe einer Sequenz von Int64-Werten, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of Int64 values that is obtained by invoking a projection function on each element of the input sequence.

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

Berechnet die Summe einer Sequenz von Int32-Werten, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of Int32 values that is obtained by invoking a projection function on each element of the input sequence.

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

Berechnet die Summe einer Sequenz von Double-Werten, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of Double values that is obtained by invoking a projection function on each element of the input sequence.

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

Berechnet die Summe einer Sequenz von Decimal-Werten, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of Decimal values that is obtained by invoking a projection function on each element of the input sequence.

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

Berechnet die Summe einer Sequenz von Decimal-Werten, die NULL zulassen, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of nullable Decimal values that is obtained by invoking a projection function on each element of the input sequence.

Sum(IQueryable<Single>)

Berechnet die Summe einer Sequenz von Single-WertenComputes the sum of a sequence of Single values.

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

Parameters

source
IQueryable<Single>

Eine Sequenz von Single-Werten, deren Summe berechnet werden sollA sequence of Single values to calculate the sum of.

Returns

Single

Die Summe der Werte in der SequenzThe sum of the values in the sequence.

Exceptions

source ist nullsource is null.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum(IQueryable<Single>) verwendet wird, um die Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum(IQueryable<Single>) to sum the values of a sequence.

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.

Remarks

Die Sum(IQueryable<Single>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum(IQueryable<Single>) selbst als konstruierte generische Methode darstellt.The Sum(IQueryable<Single>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Single>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum(IQueryable<Single>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum(IQueryable<Single>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass die Summe der Werte in sourcezurückgegeben wird.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Nullable<Single>>)

Berechnet die Summe einer Sequenz von Single-Werten, die NULL zulassenComputes the sum of a sequence of nullable Single values.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<float> Sum(System::Linq::IQueryable<Nullable<float>> ^ source);
public static float? Sum (this System.Linq.IQueryable<Nullable<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)

Parameters

source
IQueryable<Nullable<Single>>

Eine Sequenz von Single-Werten, die NULL zulassen, und deren Summe berechnet werden sollA sequence of nullable Single values to calculate the sum of.

Returns

Nullable<Single>

Die Summe der Werte in der SequenzThe sum of the values in the sequence.

Exceptions

source ist nullsource is null.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum(IQueryable<Nullable<Single>>) verwendet wird, um die Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum(IQueryable<Nullable<Single>>) to sum the values of a sequence.

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

Remarks

Die Sum(IQueryable<Nullable<Single>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum(IQueryable<Nullable<Single>>) selbst als konstruierte generische Methode darstellt.The Sum(IQueryable<Nullable<Single>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Single>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum(IQueryable<Nullable<Single>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum(IQueryable<Nullable<Single>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass die Summe der Werte in sourcezurückgegeben wird.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Nullable<Int64>>)

Berechnet die Summe einer Sequenz von Int64-Werten, die NULL zulassenComputes the sum of a sequence of nullable Int64 values.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<long> Sum(System::Linq::IQueryable<Nullable<long>> ^ source);
public static long? Sum (this System.Linq.IQueryable<Nullable<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)

Parameters

source
IQueryable<Nullable<Int64>>

Eine Sequenz von Int64-Werten, die NULL zulassen, und deren Summe berechnet werden sollA sequence of nullable Int64 values to calculate the sum of.

Returns

Nullable<Int64>

Die Summe der Werte in der SequenzThe sum of the values in the sequence.

Exceptions

source ist nullsource is null.

Die Summe ist größer als MaxValue.The sum is larger than MaxValue.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum(IQueryable<Nullable<Single>>) verwendet wird, um die Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum(IQueryable<Nullable<Single>>) to sum the values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ersetzen Sie die Elemente der Quellsequenz durch Elemente des entsprechenden numerischen Typs.To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

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

Remarks

Die Sum(IQueryable<Nullable<Int64>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum(IQueryable<Nullable<Int64>>) selbst als konstruierte generische Methode darstellt.The Sum(IQueryable<Nullable<Int64>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Int64>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum(IQueryable<Nullable<Int64>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum(IQueryable<Nullable<Int64>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass die Summe der Werte in sourcezurückgegeben wird.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Nullable<Int32>>)

Berechnet die Summe einer Sequenz von Int32-Werten, die NULL zulassenComputes the sum of a sequence of nullable Int32 values.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<int> Sum(System::Linq::IQueryable<Nullable<int>> ^ source);
public static int? Sum (this System.Linq.IQueryable<Nullable<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)

Parameters

source
IQueryable<Nullable<Int32>>

Eine Sequenz von Int32-Werten, die NULL zulassen, und deren Summe berechnet werden sollA sequence of nullable Int32 values to calculate the sum of.

Returns

Nullable<Int32>

Die Summe der Werte in der SequenzThe sum of the values in the sequence.

Exceptions

source ist nullsource is null.

Die Summe ist größer als MaxValue.The sum is larger than MaxValue.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum(IQueryable<Nullable<Single>>) verwendet wird, um die Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum(IQueryable<Nullable<Single>>) to sum the values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ersetzen Sie die Elemente der Quellsequenz durch Elemente des entsprechenden numerischen Typs.To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

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

Remarks

Die Sum(IQueryable<Nullable<Int32>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum(IQueryable<Nullable<Int32>>) selbst als konstruierte generische Methode darstellt.The Sum(IQueryable<Nullable<Int32>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Int32>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum(IQueryable<Nullable<Int32>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum(IQueryable<Nullable<Int32>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass die Summe der Werte in sourcezurückgegeben wird.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Nullable<Double>>)

Berechnet die Summe einer Sequenz von Double-Werten, die NULL zulassenComputes the sum of a sequence of nullable Double values.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<double> Sum(System::Linq::IQueryable<Nullable<double>> ^ source);
public static double? Sum (this System.Linq.IQueryable<Nullable<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)

Parameters

source
IQueryable<Nullable<Double>>

Eine Sequenz von Double-Werten, die NULL zulassen, und deren Summe berechnet werden sollA sequence of nullable Double values to calculate the sum of.

Returns

Nullable<Double>

Die Summe der Werte in der SequenzThe sum of the values in the sequence.

Exceptions

source ist nullsource is null.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum(IQueryable<Nullable<Single>>) verwendet wird, um die Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum(IQueryable<Nullable<Single>>) to sum the values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ersetzen Sie die Elemente der Quellsequenz durch Elemente des entsprechenden numerischen Typs.To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

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

Remarks

Die Sum(IQueryable<Nullable<Double>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum(IQueryable<Nullable<Double>>) selbst als konstruierte generische Methode darstellt.The Sum(IQueryable<Nullable<Double>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Double>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum(IQueryable<Nullable<Double>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum(IQueryable<Nullable<Double>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass die Summe der Werte in sourcezurückgegeben wird.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Int32>)

Berechnet die Summe einer Sequenz von Int32-WertenComputes the sum of a sequence of Int32 values.

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

Parameters

source
IQueryable<Int32>

Eine Sequenz von Int32-Werten, deren Summe berechnet werden sollA sequence of Int32 values to calculate the sum of.

Returns

Int32

Die Summe der Werte in der SequenzThe sum of the values in the sequence.

Exceptions

source ist nullsource is null.

Die Summe ist größer als MaxValue.The sum is larger than MaxValue.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum(IQueryable<Single>) verwendet wird, um die Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum(IQueryable<Single>) to sum the values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ersetzen Sie die Elemente der Quellsequenz durch Elemente des entsprechenden numerischen Typs.To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

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.

Remarks

Die Sum(IQueryable<Int32>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum(IQueryable<Int32>) selbst als konstruierte generische Methode darstellt.The Sum(IQueryable<Int32>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Int32>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum(IQueryable<Int32>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum(IQueryable<Int32>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass die Summe der Werte in sourcezurückgegeben wird.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Int64>)

Berechnet die Summe einer Sequenz von Int64-WertenComputes the sum of a sequence of Int64 values.

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

Parameters

source
IQueryable<Int64>

Eine Sequenz von Int64-Werten, deren Summe berechnet werden sollA sequence of Int64 values to calculate the sum of.

Returns

Int64

Die Summe der Werte in der SequenzThe sum of the values in the sequence.

Exceptions

source ist nullsource is null.

Die Summe ist größer als MaxValue.The sum is larger than MaxValue.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum(IQueryable<Single>) verwendet wird, um die Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum(IQueryable<Single>) to sum the values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ersetzen Sie die Elemente der Quellsequenz durch Elemente des entsprechenden numerischen Typs.To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

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.

Remarks

Die Sum(IQueryable<Int64>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum(IQueryable<Int64>) selbst als konstruierte generische Methode darstellt.The Sum(IQueryable<Int64>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Int64>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum(IQueryable<Int64>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum(IQueryable<Int64>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass die Summe der Werte in sourcezurückgegeben wird.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Nullable<Decimal>>)

Berechnet die Summe einer Sequenz von Decimal-Werten, die NULL zulassenComputes the sum of a sequence of nullable Decimal values.

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<Nullable<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)

Parameters

source
IQueryable<Nullable<Decimal>>

Eine Sequenz von Decimal-Werten, die NULL zulassen, und deren Summe berechnet werden sollA sequence of nullable Decimal values to calculate the sum of.

Returns

Nullable<Decimal>

Die Summe der Werte in der SequenzThe sum of the values in the sequence.

Exceptions

source ist nullsource is null.

Die Summe ist größer als MaxValue.The sum is larger than MaxValue.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum(IQueryable<Nullable<Single>>) verwendet wird, um die Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum(IQueryable<Nullable<Single>>) to sum the values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ersetzen Sie die Elemente der Quellsequenz durch Elemente des entsprechenden numerischen Typs.To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

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

Remarks

Die Sum(IQueryable<Nullable<Decimal>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum(IQueryable<Nullable<Decimal>>) selbst als konstruierte generische Methode darstellt.The Sum(IQueryable<Nullable<Decimal>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Decimal>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum(IQueryable<Nullable<Decimal>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum(IQueryable<Nullable<Decimal>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass die Summe der Werte in sourcezurückgegeben wird.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Double>)

Berechnet die Summe einer Sequenz von Double-WertenComputes the sum of a sequence of Double values.

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

Parameters

source
IQueryable<Double>

Eine Sequenz von Double-Werten, deren Summe berechnet werden sollA sequence of Double values to calculate the sum of.

Returns

Double

Die Summe der Werte in der SequenzThe sum of the values in the sequence.

Exceptions

source ist nullsource is null.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum(IQueryable<Single>) verwendet wird, um die Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum(IQueryable<Single>) to sum the values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ersetzen Sie die Elemente der Quellsequenz durch Elemente des entsprechenden numerischen Typs.To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

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.

Remarks

Die Sum(IQueryable<Double>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum(IQueryable<Double>) selbst als konstruierte generische Methode darstellt.The Sum(IQueryable<Double>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Double>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum(IQueryable<Double>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum(IQueryable<Double>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass die Summe der Werte in sourcezurückgegeben wird.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Decimal>)

Berechnet die Summe einer Sequenz von Decimal-WertenComputes the sum of a sequence of Decimal values.

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

Parameters

source
IQueryable<Decimal>

Eine Sequenz von Decimal-Werten, deren Summe berechnet werden sollA sequence of Decimal values to calculate the sum of.

Returns

Decimal

Die Summe der Werte in der SequenzThe sum of the values in the sequence.

Exceptions

source ist nullsource is null.

Die Summe ist größer als MaxValue.The sum is larger than MaxValue.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum(IQueryable<Single>) verwendet wird, um die Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum(IQueryable<Single>) to sum the values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ersetzen Sie die Elemente der Quellsequenz durch Elemente des entsprechenden numerischen Typs.To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

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.

Remarks

Die Sum(IQueryable<Decimal>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum(IQueryable<Decimal>) selbst als konstruierte generische Methode darstellt.The Sum(IQueryable<Decimal>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Decimal>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum(IQueryable<Decimal>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum(IQueryable<Decimal>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass die Summe der Werte in sourcezurückgegeben wird.The expected behavior is that it returns the sum of the values in source.

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

Berechnet die Summe einer Sequenz von Single-Werten, die NULL zulassen, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of nullable Single values that is obtained by invoking a projection function on each element of the input sequence.

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,Nullable<float>>> selector);
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)

Type Parameters

TSource

Der Typ der Elemente von source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Eine Sequenz von Werten des Typs TSource.A sequence of values of type TSource.

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

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.A projection function to apply to each element.

Returns

Nullable<Single>

Die Summe der projizierten WerteThe sum of the projected values.

Exceptions

source oder selector ist null.source or selector is null.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) verwendet wird, um die projizierten Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ändern Sie den Text der selector-Funktion.To extend the example to this topic, change the body of the selector function.

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

Remarks

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate>, dessen Typargument einer der Func<T,TResult> Typen ist.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, der in einen Expression<TDelegate>kompiliert wird.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) selbst als konstruierte generische Methode darstellt.The Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) method generates a MethodCallExpression that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass selector für jedes Element source aufgerufen wird und die Summe der resultierenden Werte zurückgegeben wird.The expected behavior is that it invokes selector on each element of source and returns the sum of the resulting values.

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

Berechnet die Summe einer Sequenz von Int64-Werten, die NULL zulassen, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of nullable Int64 values that is obtained by invoking a projection function on each element of the input sequence.

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,Nullable<long>>> selector);
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)

Type Parameters

TSource

Der Typ der Elemente von source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Eine Sequenz von Werten des Typs TSource.A sequence of values of type TSource.

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

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.A projection function to apply to each element.

Returns

Nullable<Int64>

Die Summe der projizierten WerteThe sum of the projected values.

Exceptions

source oder selector ist null.source or selector is null.

Die Summe ist größer als MaxValue.The sum is larger than MaxValue.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) verwendet wird, um die projizierten Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ändern Sie den Text der selector-Funktion.To extend the example to this topic, change the body of the selector function.

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

Remarks

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate>, dessen Typargument einer der Func<T,TResult> Typen ist.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, der in einen Expression<TDelegate>kompiliert wird.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) selbst als konstruierte generische Methode darstellt.The Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) method generates a MethodCallExpression that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass selector für jedes Element source aufgerufen wird und die Summe der resultierenden Werte zurückgegeben wird.The expected behavior is that it invokes selector on each element of source and returns the sum of the resulting values.

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

Berechnet die Summe einer Sequenz von Int32-Werten, die NULL zulassen, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of nullable Int32 values that is obtained by invoking a projection function on each element of the input sequence.

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,Nullable<int>>> selector);
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)

Type Parameters

TSource

Der Typ der Elemente von source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Eine Sequenz von Werten des Typs TSource.A sequence of values of type TSource.

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

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.A projection function to apply to each element.

Returns

Nullable<Int32>

Die Summe der projizierten WerteThe sum of the projected values.

Exceptions

source oder selector ist null.source or selector is null.

Die Summe ist größer als MaxValue.The sum is larger than MaxValue.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) verwendet wird, um die projizierten Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ändern Sie den Text der selector-Funktion.To extend the example to this topic, change the body of the selector function.

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

Remarks

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate>, dessen Typargument einer der Func<T,TResult> Typen ist.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, der in einen Expression<TDelegate>kompiliert wird.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) selbst als konstruierte generische Methode darstellt.The Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) method generates a MethodCallExpression that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass selector für jedes Element source aufgerufen wird und die Summe der resultierenden Werte zurückgegeben wird.The expected behavior is that it invokes selector on each element of source and returns the sum of the resulting values.

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

Berechnet die Summe einer Sequenz von Double-Werten, die NULL zulassen, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of nullable Double values that is obtained by invoking a projection function on each element of the input sequence.

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,Nullable<double>>> selector);
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)

Type Parameters

TSource

Der Typ der Elemente von source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Eine Sequenz von Werten des Typs TSource.A sequence of values of type TSource.

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

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.A projection function to apply to each element.

Returns

Nullable<Double>

Die Summe der projizierten WerteThe sum of the projected values.

Exceptions

source oder selector ist null.source or selector is null.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) verwendet wird, um die projizierten Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ändern Sie den Text der selector-Funktion.To extend the example to this topic, change the body of the selector function.

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

Remarks

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate>, dessen Typargument einer der Func<T,TResult> Typen ist.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, der in einen Expression<TDelegate>kompiliert wird.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) selbst als konstruierte generische Methode darstellt.The Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) method generates a MethodCallExpression that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass selector für jedes Element source aufgerufen wird und die Summe der resultierenden Werte zurückgegeben wird.The expected behavior is that it invokes selector on each element of source and returns the sum of the resulting values.

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

Berechnet die Summe einer Sequenz von Single-Werten, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of Single values that is obtained by invoking a projection function on each element of the input sequence.

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);
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

Type Parameters

TSource

Der Typ der Elemente von source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Eine Sequenz von Werten des Typs TSource.A sequence of values of type TSource.

selector
Expression<Func<TSource,Single>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.A projection function to apply to each element.

Returns

Single

Die Summe der projizierten WerteThe sum of the projected values.

Exceptions

source oder selector ist null.source or selector is null.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) verwendet wird, um die projizierten Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ändern Sie den Text der selector-Funktion.To extend the example to this topic, change the body of the selector function.

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

Remarks

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate>, dessen Typargument einer der Func<T,TResult> Typen ist.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, der in einen Expression<TDelegate>kompiliert wird.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) selbst als konstruierte generische Methode darstellt.The Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) method generates a MethodCallExpression that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass selector für jedes Element source aufgerufen wird und die Summe der resultierenden Werte zurückgegeben wird.The expected behavior is that it invokes selector on each element of source and returns the sum of the resulting values.

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

Berechnet die Summe einer Sequenz von Int64-Werten, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of Int64 values that is obtained by invoking a projection function on each element of the input sequence.

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);
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

Type Parameters

TSource

Der Typ der Elemente von source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Eine Sequenz von Werten des Typs TSource.A sequence of values of type TSource.

selector
Expression<Func<TSource,Int64>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.A projection function to apply to each element.

Returns

Int64

Die Summe der projizierten WerteThe sum of the projected values.

Exceptions

source oder selector ist null.source or selector is null.

Die Summe ist größer als MaxValue.The sum is larger than MaxValue.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) verwendet wird, um die projizierten Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ändern Sie den Text der selector-Funktion.To extend the example to this topic, change the body of the selector function.

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

Remarks

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate>, dessen Typargument einer der Func<T,TResult> Typen ist.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, der in einen Expression<TDelegate>kompiliert wird.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) selbst als konstruierte generische Methode darstellt.The Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) method generates a MethodCallExpression that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass selector für jedes Element source aufgerufen wird und die Summe der resultierenden Werte zurückgegeben wird.The expected behavior is that it invokes selector on each element of source and returns the sum of the resulting values.

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

Berechnet die Summe einer Sequenz von Int32-Werten, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of Int32 values that is obtained by invoking a projection function on each element of the input sequence.

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);
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

Type Parameters

TSource

Der Typ der Elemente von source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Eine Sequenz von Werten des Typs TSource.A sequence of values of type TSource.

selector
Expression<Func<TSource,Int32>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.A projection function to apply to each element.

Returns

Int32

Die Summe der projizierten WerteThe sum of the projected values.

Exceptions

source oder selector ist null.source or selector is null.

Die Summe ist größer als MaxValue.The sum is larger than MaxValue.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) verwendet wird, um die projizierten Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ändern Sie den Text der selector-Funktion.To extend the example to this topic, change the body of the selector function.

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

Remarks

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate>, dessen Typargument einer der Func<T,TResult> Typen ist.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, der in einen Expression<TDelegate>kompiliert wird.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) selbst als konstruierte generische Methode darstellt.The Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) method generates a MethodCallExpression that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass selector für jedes Element source aufgerufen wird und die Summe der resultierenden Werte zurückgegeben wird.The expected behavior is that it invokes selector on each element of source and returns the sum of the resulting values.

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

Berechnet die Summe einer Sequenz von Double-Werten, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of Double values that is obtained by invoking a projection function on each element of the input sequence.

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);
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

Type Parameters

TSource

Der Typ der Elemente von source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Eine Sequenz von Werten des Typs TSource.A sequence of values of type TSource.

selector
Expression<Func<TSource,Double>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.A projection function to apply to each element.

Returns

Double

Die Summe der projizierten WerteThe sum of the projected values.

Exceptions

source oder selector ist null.source or selector is null.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) verwendet wird, um die projizierten Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ändern Sie den Text der selector-Funktion.To extend the example to this topic, change the body of the selector function.

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

Remarks

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate>, dessen Typargument einer der Func<T,TResult> Typen ist.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, der in einen Expression<TDelegate>kompiliert wird.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) selbst als konstruierte generische Methode darstellt.The Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) method generates a MethodCallExpression that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) depends on the implementation of the type of he source parameter. Das erwartete Verhalten ist, dass selector für jedes Element source aufgerufen wird und die Summe der resultierenden Werte zurückgegeben wird.The expected behavior is that it invokes selector on each element of source and returns the sum of the resulting values.

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

Berechnet die Summe einer Sequenz von Decimal-Werten, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of Decimal values that is obtained by invoking a projection function on each element of the input sequence.

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);
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

Type Parameters

TSource

Der Typ der Elemente von source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Eine Sequenz von Werten des Typs TSource.A sequence of values of type TSource.

selector
Expression<Func<TSource,Decimal>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.A projection function to apply to each element.

Returns

Decimal

Die Summe der projizierten WerteThe sum of the projected values.

Exceptions

source oder selector ist null.source or selector is null.

Die Summe ist größer als MaxValue.The sum is larger than MaxValue.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) verwendet wird, um die projizierten Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ändern Sie den Text der selector-Funktion.To extend the example to this topic, change the body of the selector function.

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

Remarks

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate>, dessen Typargument einer der Func<T,TResult> Typen ist.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, der in einen Expression<TDelegate>kompiliert wird.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) selbst als konstruierte generische Methode darstellt.The Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) method generates a MethodCallExpression that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass selector für jedes Element source aufgerufen wird und die Summe der resultierenden Werte zurückgegeben wird.The expected behavior is that it invokes selector on each element of source and returns the sum of the resulting values.

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

Berechnet die Summe einer Sequenz von Decimal-Werten, die NULL zulassen, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.Computes the sum of the sequence of nullable Decimal values that is obtained by invoking a projection function on each element of the input sequence.

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,Nullable<decimal>>> selector);
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)

Type Parameters

TSource

Der Typ der Elemente von source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Eine Sequenz von Werten des Typs TSource.A sequence of values of type TSource.

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

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.A projection function to apply to each element.

Returns

Nullable<Decimal>

Die Summe der projizierten WerteThe sum of the projected values.

Exceptions

source oder selector ist null.source or selector is null.

Die Summe ist größer als MaxValue.The sum is larger than MaxValue.

Examples

Im folgenden Codebeispiel wird veranschaulicht, wie Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) verwendet wird, um die projizierten Werte einer Sequenz zusammenzufassen.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Note

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Um das Beispiel für dieses Thema zu erweitern, ändern Sie den Text der selector-Funktion.To extend the example to this topic, change the body of the selector function.

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

Remarks

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate>, dessen Typargument einer der Func<T,TResult> Typen ist.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, der in einen Expression<TDelegate>kompiliert wird.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Die Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)-Methode generiert eine MethodCallExpression, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) selbst als konstruierte generische Methode darstellt.The Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) method generates a MethodCallExpression that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass selector für jedes Element source aufgerufen wird und die Summe der resultierenden Werte zurückgegeben wird.The expected behavior is that it invokes selector on each element of source and returns the sum of the resulting values.

Applies to