Queryable.Sum Method

Definition

Computa a soma de uma sequência de valores numéricos.Computes the sum of a sequence of numeric values.

Overloads

Sum(IQueryable<Single>)

Calcula a soma de uma sequência de valores Single.Computes the sum of a sequence of Single values.

Sum(IQueryable<Nullable<Single>>)

Computa a soma de uma sequência de valores Single que permitem valores nulos.Computes the sum of a sequence of nullable Single values.

Sum(IQueryable<Nullable<Int64>>)

Computa a soma de uma sequência de valores Int64 que permitem valores nulos.Computes the sum of a sequence of nullable Int64 values.

Sum(IQueryable<Nullable<Int32>>)

Computa a soma de uma sequência de valores Int32 que permitem valores nulos.Computes the sum of a sequence of nullable Int32 values.

Sum(IQueryable<Nullable<Double>>)

Computa a soma de uma sequência de valores Double que permitem valores nulos.Computes the sum of a sequence of nullable Double values.

Sum(IQueryable<Int32>)

Calcula a soma de uma sequência de valores Int32.Computes the sum of a sequence of Int32 values.

Sum(IQueryable<Int64>)

Calcula a soma de uma sequência de valores Int64.Computes the sum of a sequence of Int64 values.

Sum(IQueryable<Nullable<Decimal>>)

Computa a soma de uma sequência de valores Decimal que permitem valores nulos.Computes the sum of a sequence of nullable Decimal values.

Sum(IQueryable<Double>)

Calcula a soma de uma sequência de valores Double.Computes the sum of a sequence of Double values.

Sum(IQueryable<Decimal>)

Calcula a soma de uma sequência de valores Decimal.Computes the sum of a sequence of Decimal values.

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

Calcula a soma da sequência de valores Single anuláveis obtida invocando uma função de projeção em cada elemento da sequência de entrada.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>>>)

Calcula a soma da sequência de valores Int64 anuláveis obtida invocando uma função de projeção em cada elemento da sequência de entrada.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>>>)

Calcula a soma da sequência de valores Int32 anuláveis obtida invocando uma função de projeção em cada elemento da sequência de entrada.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>>>)

Calcula a soma da sequência de valores Double anuláveis obtida invocando uma função de projeção em cada elemento da sequência de entrada.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>>)

Calcula a soma da sequência de valores Single que é obtida invocando uma função de projeção em cada elemento da sequência de entrada.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>>)

Calcula a soma da sequência de valores Int64 que é obtida invocando uma função de projeção em cada elemento da sequência de entrada.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>>)

Calcula a soma da sequência de valores Int32 que é obtida invocando uma função de projeção em cada elemento da sequência de entrada.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>>)

Calcula a soma da sequência de valores Double que é obtida invocando uma função de projeção em cada elemento da sequência de entrada.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>>)

Calcula a soma da sequência de valores Decimal que é obtida invocando uma função de projeção em cada elemento da sequência de entrada.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>>>)

Calcula a soma da sequência de valores Decimal anuláveis obtida invocando uma função de projeção em cada elemento da sequência de entrada.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>)

Calcula a soma de uma sequência de valores Single.Computes 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>

Uma sequência de valores Single para cálculo da soma.A sequence of Single values to calculate the sum of.

Returns

Single

A soma dos valores na sequência.The sum of the values in the sequence.

Exceptions

source é null.source is null.

Examples

O exemplo de código a seguir demonstra como usar Sum(IQueryable<Single>) para somar os valores de uma sequência.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

O método Sum(IQueryable<Single>) gera um MethodCallExpression que representa a chamada Sum(IQueryable<Single>) si mesmo como um método genérico construído.The Sum(IQueryable<Single>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Single>) itself as a constructed generic method. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum(IQueryable<Single>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele retorna a soma dos valores em source.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Nullable<Single>>)

Computa a soma de uma sequência de valores Single que permitem valores nulos.Computes 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>>

Uma sequência de valores Single que permitem valores nulos para cálculo da soma.A sequence of nullable Single values to calculate the sum of.

Returns

Nullable<Single>

A soma dos valores na sequência.The sum of the values in the sequence.

Exceptions

source é null.source is null.

Examples

O exemplo de código a seguir demonstra como usar Sum(IQueryable<Nullable<Single>>) para somar os valores de uma sequência.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

O método Sum(IQueryable<Nullable<Single>>) gera um MethodCallExpression que representa a chamada Sum(IQueryable<Nullable<Single>>) si mesmo como um método genérico construído.The Sum(IQueryable<Nullable<Single>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Single>>) itself as a constructed generic method. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum(IQueryable<Nullable<Single>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele retorna a soma dos valores em source.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Nullable<Int64>>)

Computa a soma de uma sequência de valores Int64 que permitem valores nulos.Computes 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>>

Uma sequência de valores Int64 que permitem valores nulos para cálculo da soma.A sequence of nullable Int64 values to calculate the sum of.

Returns

Nullable<Int64>

A soma dos valores na sequência.The sum of the values in the sequence.

Exceptions

source é null.source is null.

A soma é maior que MaxValue.The sum is larger than MaxValue.

Examples

O exemplo de código a seguir demonstra como usar Sum(IQueryable<Nullable<Single>>) para somar os valores de uma sequência.The following code example demonstrates how to use Sum(IQueryable<Nullable<Single>>) to sum the values of a sequence.

Note

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo para este tópico, substitua os elementos da sequência de origem por elementos do tipo numérico adequado.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

O método Sum(IQueryable<Nullable<Int64>>) gera um MethodCallExpression que representa a chamada Sum(IQueryable<Nullable<Int64>>) si mesmo como um método genérico construído.The Sum(IQueryable<Nullable<Int64>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Int64>>) itself as a constructed generic method. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum(IQueryable<Nullable<Int64>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele retorna a soma dos valores em source.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Nullable<Int32>>)

Computa a soma de uma sequência de valores Int32 que permitem valores nulos.Computes 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>>

Uma sequência de valores Int32 que permitem valores nulos para cálculo da soma.A sequence of nullable Int32 values to calculate the sum of.

Returns

Nullable<Int32>

A soma dos valores na sequência.The sum of the values in the sequence.

Exceptions

source é null.source is null.

A soma é maior que MaxValue.The sum is larger than MaxValue.

Examples

O exemplo de código a seguir demonstra como usar Sum(IQueryable<Nullable<Single>>) para somar os valores de uma sequência.The following code example demonstrates how to use Sum(IQueryable<Nullable<Single>>) to sum the values of a sequence.

Note

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo para este tópico, substitua os elementos da sequência de origem por elementos do tipo numérico adequado.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

O método Sum(IQueryable<Nullable<Int32>>) gera um MethodCallExpression que representa a chamada Sum(IQueryable<Nullable<Int32>>) si mesmo como um método genérico construído.The Sum(IQueryable<Nullable<Int32>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Int32>>) itself as a constructed generic method. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum(IQueryable<Nullable<Int32>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele retorna a soma dos valores em source.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Nullable<Double>>)

Computa a soma de uma sequência de valores Double que permitem valores nulos.Computes 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>>

Uma sequência de valores Double que permitem valores nulos para cálculo da soma.A sequence of nullable Double values to calculate the sum of.

Returns

Nullable<Double>

A soma dos valores na sequência.The sum of the values in the sequence.

Exceptions

source é null.source is null.

Examples

O exemplo de código a seguir demonstra como usar Sum(IQueryable<Nullable<Single>>) para somar os valores de uma sequência.The following code example demonstrates how to use Sum(IQueryable<Nullable<Single>>) to sum the values of a sequence.

Note

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo para este tópico, substitua os elementos da sequência de origem por elementos do tipo numérico adequado.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

O método Sum(IQueryable<Nullable<Double>>) gera um MethodCallExpression que representa a chamada Sum(IQueryable<Nullable<Double>>) si mesmo como um método genérico construído.The Sum(IQueryable<Nullable<Double>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Double>>) itself as a constructed generic method. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum(IQueryable<Nullable<Double>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele retorna a soma dos valores em source.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Int32>)

Calcula a soma de uma sequência de valores Int32.Computes 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>

Uma sequência de valores Int32 para cálculo da soma.A sequence of Int32 values to calculate the sum of.

Returns

Int32

A soma dos valores na sequência.The sum of the values in the sequence.

Exceptions

source é null.source is null.

A soma é maior que MaxValue.The sum is larger than MaxValue.

Examples

O exemplo de código a seguir demonstra como usar Sum(IQueryable<Single>) para somar os valores de uma sequência.The following code example demonstrates how to use Sum(IQueryable<Single>) to sum the values of a sequence.

Note

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo para este tópico, substitua os elementos da sequência de origem por elementos do tipo numérico adequado.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

O método Sum(IQueryable<Int32>) gera um MethodCallExpression que representa a chamada Sum(IQueryable<Int32>) si mesmo como um método genérico construído.The Sum(IQueryable<Int32>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Int32>) itself as a constructed generic method. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum(IQueryable<Int32>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele retorna a soma dos valores em source.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Int64>)

Calcula a soma de uma sequência de valores Int64.Computes 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>

Uma sequência de valores Int64 para cálculo da soma.A sequence of Int64 values to calculate the sum of.

Returns

Int64

A soma dos valores na sequência.The sum of the values in the sequence.

Exceptions

source é null.source is null.

A soma é maior que MaxValue.The sum is larger than MaxValue.

Examples

O exemplo de código a seguir demonstra como usar Sum(IQueryable<Single>) para somar os valores de uma sequência.The following code example demonstrates how to use Sum(IQueryable<Single>) to sum the values of a sequence.

Note

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo para este tópico, substitua os elementos da sequência de origem por elementos do tipo numérico adequado.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

O método Sum(IQueryable<Int64>) gera um MethodCallExpression que representa a chamada Sum(IQueryable<Int64>) si mesmo como um método genérico construído.The Sum(IQueryable<Int64>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Int64>) itself as a constructed generic method. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum(IQueryable<Int64>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele retorna a soma dos valores em source.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Nullable<Decimal>>)

Computa a soma de uma sequência de valores Decimal que permitem valores nulos.Computes 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>>

Uma sequência de valores Decimal que permitem valores nulos para cálculo da soma.A sequence of nullable Decimal values to calculate the sum of.

Returns

Nullable<Decimal>

A soma dos valores na sequência.The sum of the values in the sequence.

Exceptions

source é null.source is null.

A soma é maior que MaxValue.The sum is larger than MaxValue.

Examples

O exemplo de código a seguir demonstra como usar Sum(IQueryable<Nullable<Single>>) para somar os valores de uma sequência.The following code example demonstrates how to use Sum(IQueryable<Nullable<Single>>) to sum the values of a sequence.

Note

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo para este tópico, substitua os elementos da sequência de origem por elementos do tipo numérico adequado.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

O método Sum(IQueryable<Nullable<Decimal>>) gera um MethodCallExpression que representa a chamada Sum(IQueryable<Nullable<Decimal>>) si mesmo como um método genérico construído.The Sum(IQueryable<Nullable<Decimal>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Decimal>>) itself as a constructed generic method. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum(IQueryable<Nullable<Decimal>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele retorna a soma dos valores em source.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Double>)

Calcula a soma de uma sequência de valores Double.Computes 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>

Uma sequência de valores Double para cálculo da soma.A sequence of Double values to calculate the sum of.

Returns

Double

A soma dos valores na sequência.The sum of the values in the sequence.

Exceptions

source é null.source is null.

Examples

O exemplo de código a seguir demonstra como usar Sum(IQueryable<Single>) para somar os valores de uma sequência.The following code example demonstrates how to use Sum(IQueryable<Single>) to sum the values of a sequence.

Note

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo para este tópico, substitua os elementos da sequência de origem por elementos do tipo numérico adequado.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

O método Sum(IQueryable<Double>) gera um MethodCallExpression que representa a chamada Sum(IQueryable<Double>) si mesmo como um método genérico construído.The Sum(IQueryable<Double>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Double>) itself as a constructed generic method. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum(IQueryable<Double>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele retorna a soma dos valores em source.The expected behavior is that it returns the sum of the values in source.

Sum(IQueryable<Decimal>)

Calcula a soma de uma sequência de valores Decimal.Computes 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>

Uma sequência de valores Decimal para cálculo da soma.A sequence of Decimal values to calculate the sum of.

Returns

Decimal

A soma dos valores na sequência.The sum of the values in the sequence.

Exceptions

source é null.source is null.

A soma é maior que MaxValue.The sum is larger than MaxValue.

Examples

O exemplo de código a seguir demonstra como usar Sum(IQueryable<Single>) para somar os valores de uma sequência.The following code example demonstrates how to use Sum(IQueryable<Single>) to sum the values of a sequence.

Note

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo para este tópico, substitua os elementos da sequência de origem por elementos do tipo numérico adequado.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

O método Sum(IQueryable<Decimal>) gera um MethodCallExpression que representa a chamada Sum(IQueryable<Decimal>) si mesmo como um método genérico construído.The Sum(IQueryable<Decimal>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Decimal>) itself as a constructed generic method. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum(IQueryable<Decimal>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele retorna a soma dos valores em source.The expected behavior is that it returns the sum of the values in source.

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

Calcula a soma da sequência de valores Single anuláveis obtida invocando uma função de projeção em cada elemento da sequência de entrada.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

O tipo dos elementos de source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Uma sequência de valores do tipo TSource.A sequence of values of type TSource.

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

Uma função de projeção a ser aplicada a cada elemento.A projection function to apply to each element.

Returns

Nullable<Single>

A soma dos valores projetados.The sum of the projected values.

Exceptions

source ou selector é null.source or selector is null.

Examples

O exemplo de código a seguir demonstra como usar Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) para somar os valores projetados de uma sequência.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

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo a este tópico, altere o corpo da função selector.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

Esse método tem pelo menos um parâmetro do tipo Expression<TDelegate> cujo argumento de tipo é um dos tipos de Func<T,TResult>.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Para esses parâmetros, você pode passar uma expressão lambda e ela será compilada para um Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

O método Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) gera um MethodCallExpression que representa a chamada Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) si mesmo como um método genérico construído.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. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele invoca selector em cada elemento de source e retorna a soma dos valores resultantes.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>>>)

Calcula a soma da sequência de valores Int64 anuláveis obtida invocando uma função de projeção em cada elemento da sequência de entrada.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

O tipo dos elementos de source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Uma sequência de valores do tipo TSource.A sequence of values of type TSource.

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

Uma função de projeção a ser aplicada a cada elemento.A projection function to apply to each element.

Returns

Nullable<Int64>

A soma dos valores projetados.The sum of the projected values.

Exceptions

source ou selector é null.source or selector is null.

A soma é maior que MaxValue.The sum is larger than MaxValue.

Examples

O exemplo de código a seguir demonstra como usar Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) para somar os valores projetados de uma sequência.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

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo a este tópico, altere o corpo da função selector.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

Esse método tem pelo menos um parâmetro do tipo Expression<TDelegate> cujo argumento de tipo é um dos tipos de Func<T,TResult>.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Para esses parâmetros, você pode passar uma expressão lambda e ela será compilada para um Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

O método Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) gera um MethodCallExpression que representa a chamada Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) si mesmo como um método genérico construído.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. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele invoca selector em cada elemento de source e retorna a soma dos valores resultantes.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>>>)

Calcula a soma da sequência de valores Int32 anuláveis obtida invocando uma função de projeção em cada elemento da sequência de entrada.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

O tipo dos elementos de source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Uma sequência de valores do tipo TSource.A sequence of values of type TSource.

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

Uma função de projeção a ser aplicada a cada elemento.A projection function to apply to each element.

Returns

Nullable<Int32>

A soma dos valores projetados.The sum of the projected values.

Exceptions

source ou selector é null.source or selector is null.

A soma é maior que MaxValue.The sum is larger than MaxValue.

Examples

O exemplo de código a seguir demonstra como usar Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) para somar os valores projetados de uma sequência.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

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo a este tópico, altere o corpo da função selector.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

Esse método tem pelo menos um parâmetro do tipo Expression<TDelegate> cujo argumento de tipo é um dos tipos de Func<T,TResult>.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Para esses parâmetros, você pode passar uma expressão lambda e ela será compilada para um Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

O método Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) gera um MethodCallExpression que representa a chamada Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) si mesmo como um método genérico construído.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. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele invoca selector em cada elemento de source e retorna a soma dos valores resultantes.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>>>)

Calcula a soma da sequência de valores Double anuláveis obtida invocando uma função de projeção em cada elemento da sequência de entrada.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

O tipo dos elementos de source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Uma sequência de valores do tipo TSource.A sequence of values of type TSource.

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

Uma função de projeção a ser aplicada a cada elemento.A projection function to apply to each element.

Returns

Nullable<Double>

A soma dos valores projetados.The sum of the projected values.

Exceptions

source ou selector é null.source or selector is null.

Examples

O exemplo de código a seguir demonstra como usar Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) para somar os valores projetados de uma sequência.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

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo a este tópico, altere o corpo da função selector.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

Esse método tem pelo menos um parâmetro do tipo Expression<TDelegate> cujo argumento de tipo é um dos tipos de Func<T,TResult>.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Para esses parâmetros, você pode passar uma expressão lambda e ela será compilada para um Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

O método Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) gera um MethodCallExpression que representa a chamada Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) si mesmo como um método genérico construído.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. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele invoca selector em cada elemento de source e retorna a soma dos valores resultantes.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>>)

Calcula a soma da sequência de valores Single que é obtida invocando uma função de projeção em cada elemento da sequência de entrada.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

O tipo dos elementos de source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Uma sequência de valores do tipo TSource.A sequence of values of type TSource.

selector
Expression<Func<TSource,Single>>

Uma função de projeção a ser aplicada a cada elemento.A projection function to apply to each element.

Returns

Single

A soma dos valores projetados.The sum of the projected values.

Exceptions

source ou selector é null.source or selector is null.

Examples

O exemplo de código a seguir demonstra como usar Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) para somar os valores projetados de uma sequência.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

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo a este tópico, altere o corpo da função selector.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

Esse método tem pelo menos um parâmetro do tipo Expression<TDelegate> cujo argumento de tipo é um dos tipos de Func<T,TResult>.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Para esses parâmetros, você pode passar uma expressão lambda e ela será compilada para um Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

O método Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) gera um MethodCallExpression que representa a chamada Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) si mesmo como um método genérico construído.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. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele invoca selector em cada elemento de source e retorna a soma dos valores resultantes.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>>)

Calcula a soma da sequência de valores Int64 que é obtida invocando uma função de projeção em cada elemento da sequência de entrada.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

O tipo dos elementos de source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Uma sequência de valores do tipo TSource.A sequence of values of type TSource.

selector
Expression<Func<TSource,Int64>>

Uma função de projeção a ser aplicada a cada elemento.A projection function to apply to each element.

Returns

Int64

A soma dos valores projetados.The sum of the projected values.

Exceptions

source ou selector é null.source or selector is null.

A soma é maior que MaxValue.The sum is larger than MaxValue.

Examples

O exemplo de código a seguir demonstra como usar Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) para somar os valores projetados de uma sequência.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

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo a este tópico, altere o corpo da função selector.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

Esse método tem pelo menos um parâmetro do tipo Expression<TDelegate> cujo argumento de tipo é um dos tipos de Func<T,TResult>.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Para esses parâmetros, você pode passar uma expressão lambda e ela será compilada para um Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

O método Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) gera um MethodCallExpression que representa a chamada Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) si mesmo como um método genérico construído.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. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele invoca selector em cada elemento de source e retorna a soma dos valores resultantes.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>>)

Calcula a soma da sequência de valores Int32 que é obtida invocando uma função de projeção em cada elemento da sequência de entrada.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

O tipo dos elementos de source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Uma sequência de valores do tipo TSource.A sequence of values of type TSource.

selector
Expression<Func<TSource,Int32>>

Uma função de projeção a ser aplicada a cada elemento.A projection function to apply to each element.

Returns

Int32

A soma dos valores projetados.The sum of the projected values.

Exceptions

source ou selector é null.source or selector is null.

A soma é maior que MaxValue.The sum is larger than MaxValue.

Examples

O exemplo de código a seguir demonstra como usar Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) para somar os valores projetados de uma sequência.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

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo a este tópico, altere o corpo da função selector.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

Esse método tem pelo menos um parâmetro do tipo Expression<TDelegate> cujo argumento de tipo é um dos tipos de Func<T,TResult>.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Para esses parâmetros, você pode passar uma expressão lambda e ela será compilada para um Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

O método Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) gera um MethodCallExpression que representa a chamada Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) si mesmo como um método genérico construído.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. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele invoca selector em cada elemento de source e retorna a soma dos valores resultantes.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>>)

Calcula a soma da sequência de valores Double que é obtida invocando uma função de projeção em cada elemento da sequência de entrada.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

O tipo dos elementos de source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Uma sequência de valores do tipo TSource.A sequence of values of type TSource.

selector
Expression<Func<TSource,Double>>

Uma função de projeção a ser aplicada a cada elemento.A projection function to apply to each element.

Returns

Double

A soma dos valores projetados.The sum of the projected values.

Exceptions

source ou selector é null.source or selector is null.

Examples

O exemplo de código a seguir demonstra como usar Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) para somar os valores projetados de uma sequência.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

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo a este tópico, altere o corpo da função selector.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

Esse método tem pelo menos um parâmetro do tipo Expression<TDelegate> cujo argumento de tipo é um dos tipos de Func<T,TResult>.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Para esses parâmetros, você pode passar uma expressão lambda e ela será compilada para um Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

O método Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) gera um MethodCallExpression que representa a chamada Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) si mesmo como um método genérico construído.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. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) depende da implementação do parâmetro source.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. O comportamento esperado é que ele invoca selector em cada elemento de source e retorna a soma dos valores resultantes.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>>)

Calcula a soma da sequência de valores Decimal que é obtida invocando uma função de projeção em cada elemento da sequência de entrada.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

O tipo dos elementos de source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Uma sequência de valores do tipo TSource.A sequence of values of type TSource.

selector
Expression<Func<TSource,Decimal>>

Uma função de projeção a ser aplicada a cada elemento.A projection function to apply to each element.

Returns

Decimal

A soma dos valores projetados.The sum of the projected values.

Exceptions

source ou selector é null.source or selector is null.

A soma é maior que MaxValue.The sum is larger than MaxValue.

Examples

O exemplo de código a seguir demonstra como usar Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) para somar os valores projetados de uma sequência.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

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo a este tópico, altere o corpo da função selector.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

Esse método tem pelo menos um parâmetro do tipo Expression<TDelegate> cujo argumento de tipo é um dos tipos de Func<T,TResult>.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Para esses parâmetros, você pode passar uma expressão lambda e ela será compilada para um Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

O método Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) gera um MethodCallExpression que representa a chamada Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) si mesmo como um método genérico construído.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. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele invoca selector em cada elemento de source e retorna a soma dos valores resultantes.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>>>)

Calcula a soma da sequência de valores Decimal anuláveis obtida invocando uma função de projeção em cada elemento da sequência de entrada.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

O tipo dos elementos de source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Uma sequência de valores do tipo TSource.A sequence of values of type TSource.

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

Uma função de projeção a ser aplicada a cada elemento.A projection function to apply to each element.

Returns

Nullable<Decimal>

A soma dos valores projetados.The sum of the projected values.

Exceptions

source ou selector é null.source or selector is null.

A soma é maior que MaxValue.The sum is larger than MaxValue.

Examples

O exemplo de código a seguir demonstra como usar Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) para somar os valores projetados de uma sequência.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

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Para estender o exemplo a este tópico, altere o corpo da função selector.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

Esse método tem pelo menos um parâmetro do tipo Expression<TDelegate> cujo argumento de tipo é um dos tipos de Func<T,TResult>.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Para esses parâmetros, você pode passar uma expressão lambda e ela será compilada para um Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

O método Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) gera um MethodCallExpression que representa a chamada Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) si mesmo como um método genérico construído.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. Em seguida, ele passa o MethodCallExpression para o método Execute<TResult>(Expression) do IQueryProvider representado pela propriedade Provider do parâmetro source.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada de Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) depende da implementação do tipo do parâmetro source.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. O comportamento esperado é que ele invoca selector em cada elemento de source e retorna a soma dos valores resultantes.The expected behavior is that it invokes selector on each element of source and returns the sum of the resulting values.

Applies to