# Queryable.SumQueryable.SumQueryable.SumQueryable.Sum Method

## Definizione

Calcola la somma di una sequenza di valori numerici.Computes the sum of a sequence of numeric values.

 Sum(IQueryable) Sum(IQueryable) Sum(IQueryable) Sum(IQueryable) Calcola la somma di una sequenza di valori Single.Computes the sum of a sequence of Single values. Sum(IQueryable>) Sum(IQueryable>) Sum(IQueryable>) Sum(IQueryable>) Calcola la somma di una sequenza che ammette valori Single nullable.Computes the sum of a sequence of nullable Single values. Sum(IQueryable>) Sum(IQueryable>) Sum(IQueryable>) Sum(IQueryable>) Calcola la somma di una sequenza che ammette valori Int64 nullable.Computes the sum of a sequence of nullable Int64 values. Sum(IQueryable>) Sum(IQueryable>) Sum(IQueryable>) Sum(IQueryable>) Calcola la somma di una sequenza che ammette valori Int32 nullable.Computes the sum of a sequence of nullable Int32 values. Sum(IQueryable>) Sum(IQueryable>) Sum(IQueryable>) Sum(IQueryable>) Calcola la somma di una sequenza che ammette valori Double nullable.Computes the sum of a sequence of nullable Double values. Sum(IQueryable) Sum(IQueryable) Sum(IQueryable) Sum(IQueryable) Calcola la somma di una sequenza di valori Int32.Computes the sum of a sequence of Int32 values. Sum(IQueryable) Sum(IQueryable) Sum(IQueryable) Sum(IQueryable) Calcola la somma di una sequenza di valori Int64.Computes the sum of a sequence of Int64 values. Sum(IQueryable>) Sum(IQueryable>) Sum(IQueryable>) Sum(IQueryable>) Calcola la somma di una sequenza che ammette valori Decimal nullable.Computes the sum of a sequence of nullable Decimal values. Sum(IQueryable) Sum(IQueryable) Sum(IQueryable) Sum(IQueryable) Calcola la somma di una sequenza di valori Double.Computes the sum of a sequence of Double values. Sum(IQueryable) Sum(IQueryable) Sum(IQueryable) Sum(IQueryable) Calcola la somma di una sequenza di valori Decimal.Computes the sum of a sequence of Decimal values. Sum(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Calcola la somma della sequenza di valori Single nullable, ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Calcola la somma della sequenza di valori Int64 nullable, ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Calcola la somma della sequenza di valori Int32 nullable, ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Calcola la somma della sequenza di valori Double nullable, ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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(IQueryable, Expression>) Sum(IQueryable, Expression>) Sum(IQueryable, Expression>) Sum(IQueryable, Expression>) Calcola la somma della sequenza di valori Single ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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(IQueryable, Expression>) Sum(IQueryable, Expression>) Sum(IQueryable, Expression>) Sum(IQueryable, Expression>) Calcola la somma della sequenza di valori Int64 ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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(IQueryable, Expression>) Sum(IQueryable, Expression>) Sum(IQueryable, Expression>) Sum(IQueryable, Expression>) Calcola la somma della sequenza di valori Int32 ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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(IQueryable, Expression>) Sum(IQueryable, Expression>) Sum(IQueryable, Expression>) Sum(IQueryable, Expression>) Calcola la somma della sequenza di valori Double ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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(IQueryable, Expression>) Sum(IQueryable, Expression>) Sum(IQueryable, Expression>) Sum(IQueryable, Expression>) Calcola la somma della sequenza di valori Decimal ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Sum(IQueryable, Expression>>) Calcola la somma della sequenza di valori Decimal nullable, ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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>)Sum(IQueryable<Single>)Sum(IQueryable<Single>)Sum(IQueryable<Single>)

Calcola la somma di una sequenza di valori 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``````

#### Parametri

source

Sequenza di valori Single di cui calcolare la somma.A sequence of Single values to calculate the sum of.

#### Restituisce

Somma dei valori della sequenza.The sum of the values in the sequence.

#### Eccezioni

`source` è `null`.`source` is `null`.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum(IQueryable<Single>) illustrato come utilizzare per sommare i valori di una sequenza.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.

``````

### Commenti

Il Sum(IQueryable<Single>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Single>) la chiamata a se stesso come metodo generico costruito.The Sum(IQueryable<Single>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Single>) itself as a constructed generic method. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum(IQueryable<Single>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che restituisce la somma dei valori in `source`.The expected behavior is that it returns the sum of the values in `source`.

## Sum(IQueryable<Nullable<Single>>)Sum(IQueryable<Nullable<Single>>)Sum(IQueryable<Nullable<Single>>)Sum(IQueryable<Nullable<Single>>)

Calcola la somma di una sequenza che ammette valori Single nullable.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 Nullable<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)``````

#### Parametri

source

Sequenza che ammette valori Single nullable di cui calcolare la somma.A sequence of nullable Single values to calculate the sum of.

#### Restituisce

Somma dei valori della sequenza.The sum of the values in the sequence.

#### Eccezioni

`source` è `null`.`source` is `null`.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum(IQueryable<Nullable<Single>>) illustrato come utilizzare per sommare i valori di una sequenza.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

``````

### Commenti

Il Sum(IQueryable<Nullable<Single>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Nullable<Single>>) la chiamata a se stesso come metodo generico costruito.The Sum(IQueryable<Nullable<Single>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Single>>) itself as a constructed generic method. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum(IQueryable<Nullable<Single>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che restituisce la somma dei valori in `source`.The expected behavior is that it returns the sum of the values in `source`.

## Sum(IQueryable<Nullable<Int64>>)Sum(IQueryable<Nullable<Int64>>)Sum(IQueryable<Nullable<Int64>>)Sum(IQueryable<Nullable<Int64>>)

Calcola la somma di una sequenza che ammette valori Int64 nullable.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 Nullable<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)``````

#### Parametri

source

Sequenza che ammette valori Int64 nullable di cui calcolare la somma.A sequence of nullable Int64 values to calculate the sum of.

#### Restituisce

Somma dei valori della sequenza.The sum of the values in the sequence.

#### Eccezioni

`source` è `null`.`source` is `null`.

La somma è maggiore di MaxValue.The sum is larger than MaxValue.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum(IQueryable<Nullable<Single>>) illustrato come utilizzare per sommare i valori di una sequenza.The following code example demonstrates how to use Sum(IQueryable<Nullable<Single>>) to sum the values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, sostituire gli elementi della sequenza di origine con elementi del tipo numerico appropriato.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

``````

### Commenti

Il Sum(IQueryable<Nullable<Int64>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Nullable<Int64>>) la chiamata a se stesso come metodo generico costruito.The Sum(IQueryable<Nullable<Int64>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Int64>>) itself as a constructed generic method. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum(IQueryable<Nullable<Int64>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che restituisce la somma dei valori in `source`.The expected behavior is that it returns the sum of the values in `source`.

## Sum(IQueryable<Nullable<Int32>>)Sum(IQueryable<Nullable<Int32>>)Sum(IQueryable<Nullable<Int32>>)Sum(IQueryable<Nullable<Int32>>)

Calcola la somma di una sequenza che ammette valori Int32 nullable.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 Nullable<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)``````

#### Parametri

source

Sequenza che ammette valori Int32 nullable di cui calcolare la somma.A sequence of nullable Int32 values to calculate the sum of.

#### Restituisce

Somma dei valori della sequenza.The sum of the values in the sequence.

#### Eccezioni

`source` è `null`.`source` is `null`.

La somma è maggiore di MaxValue.The sum is larger than MaxValue.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum(IQueryable<Nullable<Single>>) illustrato come utilizzare per sommare i valori di una sequenza.The following code example demonstrates how to use Sum(IQueryable<Nullable<Single>>) to sum the values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, sostituire gli elementi della sequenza di origine con elementi del tipo numerico appropriato.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

``````

### Commenti

Il Sum(IQueryable<Nullable<Int32>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Nullable<Int32>>) la chiamata a se stesso come metodo generico costruito.The Sum(IQueryable<Nullable<Int32>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Int32>>) itself as a constructed generic method. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum(IQueryable<Nullable<Int32>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che restituisce la somma dei valori in `source`.The expected behavior is that it returns the sum of the values in `source`.

## Sum(IQueryable<Nullable<Double>>)Sum(IQueryable<Nullable<Double>>)Sum(IQueryable<Nullable<Double>>)Sum(IQueryable<Nullable<Double>>)

Calcola la somma di una sequenza che ammette valori Double nullable.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 Nullable<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)``````

#### Parametri

source

Sequenza che ammette valori Double nullable di cui calcolare la somma.A sequence of nullable Double values to calculate the sum of.

#### Restituisce

Somma dei valori della sequenza.The sum of the values in the sequence.

#### Eccezioni

`source` è `null`.`source` is `null`.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum(IQueryable<Nullable<Single>>) illustrato come utilizzare per sommare i valori di una sequenza.The following code example demonstrates how to use Sum(IQueryable<Nullable<Single>>) to sum the values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, sostituire gli elementi della sequenza di origine con elementi del tipo numerico appropriato.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

``````

### Commenti

Il Sum(IQueryable<Nullable<Double>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Nullable<Double>>) la chiamata a se stesso come metodo generico costruito.The Sum(IQueryable<Nullable<Double>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Double>>) itself as a constructed generic method. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum(IQueryable<Nullable<Double>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che restituisce la somma dei valori in `source`.The expected behavior is that it returns the sum of the values in `source`.

## Sum(IQueryable<Int32>)Sum(IQueryable<Int32>)Sum(IQueryable<Int32>)Sum(IQueryable<Int32>)

Calcola la somma di una sequenza di valori 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``````

#### Parametri

source

Sequenza di valori Int32 di cui calcolare la somma.A sequence of Int32 values to calculate the sum of.

#### Restituisce

Somma dei valori della sequenza.The sum of the values in the sequence.

#### Eccezioni

`source` è `null`.`source` is `null`.

La somma è maggiore di MaxValue.The sum is larger than MaxValue.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum(IQueryable<Single>) illustrato come utilizzare per sommare i valori di una sequenza.The following code example demonstrates how to use Sum(IQueryable<Single>) to sum the values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, sostituire gli elementi della sequenza di origine con elementi del tipo numerico appropriato.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.

``````

### Commenti

Il Sum(IQueryable<Int32>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Int32>) la chiamata a se stesso come metodo generico costruito.The Sum(IQueryable<Int32>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Int32>) itself as a constructed generic method. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum(IQueryable<Int32>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che restituisce la somma dei valori in `source`.The expected behavior is that it returns the sum of the values in `source`.

## Sum(IQueryable<Int64>)Sum(IQueryable<Int64>)Sum(IQueryable<Int64>)Sum(IQueryable<Int64>)

Calcola la somma di una sequenza di valori 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``````

#### Parametri

source

Sequenza di valori Int64 di cui calcolare la somma.A sequence of Int64 values to calculate the sum of.

#### Restituisce

Somma dei valori della sequenza.The sum of the values in the sequence.

#### Eccezioni

`source` è `null`.`source` is `null`.

La somma è maggiore di MaxValue.The sum is larger than MaxValue.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum(IQueryable<Single>) illustrato come utilizzare per sommare i valori di una sequenza.The following code example demonstrates how to use Sum(IQueryable<Single>) to sum the values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, sostituire gli elementi della sequenza di origine con elementi del tipo numerico appropriato.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.

``````

### Commenti

Il Sum(IQueryable<Int64>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Int64>) la chiamata a se stesso come metodo generico costruito.The Sum(IQueryable<Int64>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Int64>) itself as a constructed generic method. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum(IQueryable<Int64>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che restituisce la somma dei valori in `source`.The expected behavior is that it returns the sum of the values in `source`.

## Sum(IQueryable<Nullable<Decimal>>)Sum(IQueryable<Nullable<Decimal>>)Sum(IQueryable<Nullable<Decimal>>)Sum(IQueryable<Nullable<Decimal>>)

Calcola la somma di una sequenza che ammette valori Decimal nullable.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 Nullable<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)``````

#### Parametri

source

Sequenza che ammette valori Decimal nullable di cui calcolare la somma.A sequence of nullable Decimal values to calculate the sum of.

#### Restituisce

Somma dei valori della sequenza.The sum of the values in the sequence.

#### Eccezioni

`source` è `null`.`source` is `null`.

La somma è maggiore di MaxValue.The sum is larger than MaxValue.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum(IQueryable<Nullable<Single>>) illustrato come utilizzare per sommare i valori di una sequenza.The following code example demonstrates how to use Sum(IQueryable<Nullable<Single>>) to sum the values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, sostituire gli elementi della sequenza di origine con elementi del tipo numerico appropriato.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

``````

### Commenti

Il Sum(IQueryable<Nullable<Decimal>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Nullable<Decimal>>) la chiamata a se stesso come metodo generico costruito.The Sum(IQueryable<Nullable<Decimal>>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Nullable<Decimal>>) itself as a constructed generic method. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum(IQueryable<Nullable<Decimal>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che restituisce la somma dei valori in `source`.The expected behavior is that it returns the sum of the values in `source`.

## Sum(IQueryable<Double>)Sum(IQueryable<Double>)Sum(IQueryable<Double>)Sum(IQueryable<Double>)

Calcola la somma di una sequenza di valori 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``````

#### Parametri

source

Sequenza di valori Double di cui calcolare la somma.A sequence of Double values to calculate the sum of.

#### Restituisce

Somma dei valori della sequenza.The sum of the values in the sequence.

#### Eccezioni

`source` è `null`.`source` is `null`.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum(IQueryable<Single>) illustrato come utilizzare per sommare i valori di una sequenza.The following code example demonstrates how to use Sum(IQueryable<Single>) to sum the values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, sostituire gli elementi della sequenza di origine con elementi del tipo numerico appropriato.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.

``````

### Commenti

Il Sum(IQueryable<Double>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Double>) la chiamata a se stesso come metodo generico costruito.The Sum(IQueryable<Double>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Double>) itself as a constructed generic method. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum(IQueryable<Double>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che restituisce la somma dei valori in `source`.The expected behavior is that it returns the sum of the values in `source`.

## Sum(IQueryable<Decimal>)Sum(IQueryable<Decimal>)Sum(IQueryable<Decimal>)Sum(IQueryable<Decimal>)

Calcola la somma di una sequenza di valori 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``````

#### Parametri

source

Sequenza di valori Decimal di cui calcolare la somma.A sequence of Decimal values to calculate the sum of.

#### Restituisce

Somma dei valori della sequenza.The sum of the values in the sequence.

#### Eccezioni

`source` è `null`.`source` is `null`.

La somma è maggiore di MaxValue.The sum is larger than MaxValue.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum(IQueryable<Single>) illustrato come utilizzare per sommare i valori di una sequenza.The following code example demonstrates how to use Sum(IQueryable<Single>) to sum the values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, sostituire gli elementi della sequenza di origine con elementi del tipo numerico appropriato.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.

``````

### Commenti

Il Sum(IQueryable<Decimal>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Decimal>) la chiamata a se stesso come metodo generico costruito.The Sum(IQueryable<Decimal>) method generates a MethodCallExpression that represents calling Sum(IQueryable<Decimal>) itself as a constructed generic method. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum(IQueryable<Decimal>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che restituisce la somma dei valori in `source`.The expected behavior is that it returns the sum of the values in `source`.

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

Calcola la somma della sequenza di valori Single nullable, ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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 Nullable<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)``````

#### Parametri di tipo

TSource

Tipo degli elementi di `source`.The type of the elements of `source`.

#### Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo `TSource`.A sequence of values of type `TSource`.

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

Funzione di proiezione da applicare a ogni elemento.A projection function to apply to each element.

#### Restituisce

Somma dei valori proiettati.The sum of the projected values.

#### Eccezioni

`source` o `selector` è `null`.`source` or `selector` is `null`.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) illustrato come utilizzare per sommare i valori proiettati di una sequenza.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, modificare il corpo della funzione `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

``````

### Commenti

Questo metodo ha almeno un parametro di tipo Expression<TDelegate> il Func<T,TResult> cui argomento di tipo è uno dei tipi.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Per questi parametri, è possibile passare un'espressione lambda che verrà compilata in un oggetto Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) la chiamata a se stesso come metodo generico costruito.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. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che richiama `selector` su ogni elemento di `source` e restituisce la somma dei valori risultanti.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>>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)

Calcola la somma della sequenza di valori Int64 nullable, ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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 Nullable<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)``````

#### Parametri di tipo

TSource

Tipo degli elementi di `source`.The type of the elements of `source`.

#### Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo `TSource`.A sequence of values of type `TSource`.

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

Funzione di proiezione da applicare a ogni elemento.A projection function to apply to each element.

#### Restituisce

Somma dei valori proiettati.The sum of the projected values.

#### Eccezioni

`source` o `selector` è `null`.`source` or `selector` is `null`.

La somma è maggiore di MaxValue.The sum is larger than MaxValue.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) illustrato come utilizzare per sommare i valori proiettati di una sequenza.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, modificare il corpo della funzione `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

``````

### Commenti

Questo metodo ha almeno un parametro di tipo Expression<TDelegate> il Func<T,TResult> cui argomento di tipo è uno dei tipi.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Per questi parametri, è possibile passare un'espressione lambda che verrà compilata in un oggetto Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) la chiamata a se stesso come metodo generico costruito.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. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che richiama `selector` su ogni elemento di `source` e restituisce la somma dei valori risultanti.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>>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)

Calcola la somma della sequenza di valori Int32 nullable, ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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 Nullable<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)``````

#### Parametri di tipo

TSource

Tipo degli elementi di `source`.The type of the elements of `source`.

#### Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo `TSource`.A sequence of values of type `TSource`.

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

Funzione di proiezione da applicare a ogni elemento.A projection function to apply to each element.

#### Restituisce

Somma dei valori proiettati.The sum of the projected values.

#### Eccezioni

`source` o `selector` è `null`.`source` or `selector` is `null`.

La somma è maggiore di MaxValue.The sum is larger than MaxValue.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) illustrato come utilizzare per sommare i valori proiettati di una sequenza.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, modificare il corpo della funzione `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

``````

### Commenti

Questo metodo ha almeno un parametro di tipo Expression<TDelegate> il Func<T,TResult> cui argomento di tipo è uno dei tipi.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Per questi parametri, è possibile passare un'espressione lambda che verrà compilata in un oggetto Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) la chiamata a se stesso come metodo generico costruito.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. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che richiama `selector` su ogni elemento di `source` e restituisce la somma dei valori risultanti.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>>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)

Calcola la somma della sequenza di valori Double nullable, ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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 Nullable<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)``````

#### Parametri di tipo

TSource

Tipo degli elementi di `source`.The type of the elements of `source`.

#### Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo `TSource`.A sequence of values of type `TSource`.

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

Funzione di proiezione da applicare a ogni elemento.A projection function to apply to each element.

#### Restituisce

Somma dei valori proiettati.The sum of the projected values.

#### Eccezioni

`source` o `selector` è `null`.`source` or `selector` is `null`.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) illustrato come utilizzare per sommare i valori proiettati di una sequenza.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, modificare il corpo della funzione `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

``````

### Commenti

Questo metodo ha almeno un parametro di tipo Expression<TDelegate> il Func<T,TResult> cui argomento di tipo è uno dei tipi.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Per questi parametri, è possibile passare un'espressione lambda che verrà compilata in un oggetto Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) la chiamata a se stesso come metodo generico costruito.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. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che richiama `selector` su ogni elemento di `source` e restituisce la somma dei valori risultanti.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>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)

Calcola la somma della sequenza di valori Single ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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``````

#### Parametri di tipo

TSource

Tipo degli elementi di `source`.The type of the elements of `source`.

#### Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo `TSource`.A sequence of values of type `TSource`.

selector
Expression<Func<TSource,Single>>

Funzione di proiezione da applicare a ogni elemento.A projection function to apply to each element.

#### Restituisce

Somma dei valori proiettati.The sum of the projected values.

#### Eccezioni

`source` o `selector` è `null`.`source` or `selector` is `null`.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) illustrato come utilizzare per sommare i valori proiettati di una sequenza.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, modificare il corpo della funzione `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

``````

### Commenti

Questo metodo ha almeno un parametro di tipo Expression<TDelegate> il Func<T,TResult> cui argomento di tipo è uno dei tipi.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Per questi parametri, è possibile passare un'espressione lambda che verrà compilata in un oggetto Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) la chiamata a se stesso come metodo generico costruito.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. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che richiama `selector` su ogni elemento di `source` e restituisce la somma dei valori risultanti.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>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)

Calcola la somma della sequenza di valori Int64 ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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``````

#### Parametri di tipo

TSource

Tipo degli elementi di `source`.The type of the elements of `source`.

#### Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo `TSource`.A sequence of values of type `TSource`.

selector
Expression<Func<TSource,Int64>>

Funzione di proiezione da applicare a ogni elemento.A projection function to apply to each element.

#### Restituisce

Somma dei valori proiettati.The sum of the projected values.

#### Eccezioni

`source` o `selector` è `null`.`source` or `selector` is `null`.

La somma è maggiore di MaxValue.The sum is larger than MaxValue.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) illustrato come utilizzare per sommare i valori proiettati di una sequenza.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, modificare il corpo della funzione `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

``````

### Commenti

Questo metodo ha almeno un parametro di tipo Expression<TDelegate> il Func<T,TResult> cui argomento di tipo è uno dei tipi.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Per questi parametri, è possibile passare un'espressione lambda che verrà compilata in un oggetto Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) la chiamata a se stesso come metodo generico costruito.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. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che richiama `selector` su ogni elemento di `source` e restituisce la somma dei valori risultanti.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>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)

Calcola la somma della sequenza di valori Int32 ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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``````

#### Parametri di tipo

TSource

Tipo degli elementi di `source`.The type of the elements of `source`.

#### Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo `TSource`.A sequence of values of type `TSource`.

selector
Expression<Func<TSource,Int32>>

Funzione di proiezione da applicare a ogni elemento.A projection function to apply to each element.

#### Restituisce

Somma dei valori proiettati.The sum of the projected values.

#### Eccezioni

`source` o `selector` è `null`.`source` or `selector` is `null`.

La somma è maggiore di MaxValue.The sum is larger than MaxValue.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) illustrato come utilizzare per sommare i valori proiettati di una sequenza.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, modificare il corpo della funzione `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

``````

### Commenti

Questo metodo ha almeno un parametro di tipo Expression<TDelegate> il Func<T,TResult> cui argomento di tipo è uno dei tipi.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Per questi parametri, è possibile passare un'espressione lambda che verrà compilata in un oggetto Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) la chiamata a se stesso come metodo generico costruito.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. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che richiama `selector` su ogni elemento di `source` e restituisce la somma dei valori risultanti.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>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)

Calcola la somma della sequenza di valori Double ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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``````

#### Parametri di tipo

TSource

Tipo degli elementi di `source`.The type of the elements of `source`.

#### Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo `TSource`.A sequence of values of type `TSource`.

selector
Expression<Func<TSource,Double>>

Funzione di proiezione da applicare a ogni elemento.A projection function to apply to each element.

#### Restituisce

Somma dei valori proiettati.The sum of the projected values.

#### Eccezioni

`source` o `selector` è `null`.`source` or `selector` is `null`.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) illustrato come utilizzare per sommare i valori proiettati di una sequenza.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, modificare il corpo della funzione `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

``````

### Commenti

Questo metodo ha almeno un parametro di tipo Expression<TDelegate> il Func<T,TResult> cui argomento di tipo è uno dei tipi.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Per questi parametri, è possibile passare un'espressione lambda che verrà compilata in un oggetto Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) la chiamata a se stesso come metodo generico costruito.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. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che richiama `selector` su ogni elemento di `source` e restituisce la somma dei valori risultanti.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>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)

Calcola la somma della sequenza di valori Decimal ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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``````

#### Parametri di tipo

TSource

Tipo degli elementi di `source`.The type of the elements of `source`.

#### Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo `TSource`.A sequence of values of type `TSource`.

selector
Expression<Func<TSource,Decimal>>

Funzione di proiezione da applicare a ogni elemento.A projection function to apply to each element.

#### Restituisce

Somma dei valori proiettati.The sum of the projected values.

#### Eccezioni

`source` o `selector` è `null`.`source` or `selector` is `null`.

La somma è maggiore di MaxValue.The sum is larger than MaxValue.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) illustrato come utilizzare per sommare i valori proiettati di una sequenza.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, modificare il corpo della funzione `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

``````

### Commenti

Questo metodo ha almeno un parametro di tipo Expression<TDelegate> il Func<T,TResult> cui argomento di tipo è uno dei tipi.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Per questi parametri, è possibile passare un'espressione lambda che verrà compilata in un oggetto Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) la chiamata a se stesso come metodo generico costruito.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. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che richiama `selector` su ogni elemento di `source` e restituisce la somma dei valori risultanti.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>>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)

Calcola la somma della sequenza di valori Decimal nullable, ottenuta chiamando una funzione di proiezione su ogni elemento della sequenza di input.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 Nullable<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)``````

#### Parametri di tipo

TSource

Tipo degli elementi di `source`.The type of the elements of `source`.

#### Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo `TSource`.A sequence of values of type `TSource`.

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

Funzione di proiezione da applicare a ogni elemento.A projection function to apply to each element.

#### Restituisce

Somma dei valori proiettati.The sum of the projected values.

#### Eccezioni

`source` o `selector` è `null`.`source` or `selector` is `null`.

La somma è maggiore di MaxValue.The sum is larger than MaxValue.

### Esempi

Nell'esempio di codice riportato di seguito viene Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) illustrato come utilizzare per sommare i valori proiettati di una sequenza.The following code example demonstrates how to use Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) to sum the projected values of a sequence.

Nota

In questo esempio di codice viene usato un overload di questo metodo diverso da quello specifico descritto in questo argomento.This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. Per estendere l'esempio a questo argomento, modificare il corpo della funzione `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

``````

### Commenti

Questo metodo ha almeno un parametro di tipo Expression<TDelegate> il Func<T,TResult> cui argomento di tipo è uno dei tipi.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Per questi parametri, è possibile passare un'espressione lambda che verrà compilata in un oggetto Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) la chiamata a se stesso come metodo generico costruito.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. Passa MethodCallExpression IQueryProvider quindi al `source` metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the `source` parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) rappresenta la chiamata dipende dall'implementazione del tipo `source` di parametro.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. Il comportamento previsto è che richiama `selector` su ogni elemento di `source` e restituisce la somma dei valori risultanti.The expected behavior is that it invokes `selector` on each element of `source` and returns the sum of the resulting values.