Condividi tramite


Queryable.Sum Metodo

Definizione

Calcola la somma di una sequenza di valori numerici.

Overload

Nome Descrizione
Sum(IQueryable<Single>)

Calcola la somma di una sequenza di Single valori.

Sum(IQueryable<Nullable<Single>>)

Calcola la somma di una sequenza di valori nullable Single .

Sum(IQueryable<Nullable<Int64>>)

Calcola la somma di una sequenza di valori nullable Int64 .

Sum(IQueryable<Nullable<Int32>>)

Calcola la somma di una sequenza di valori nullable Int32 .

Sum(IQueryable<Nullable<Double>>)

Calcola la somma di una sequenza di valori nullable Double .

Sum(IQueryable<Nullable<Decimal>>)

Calcola la somma di una sequenza di valori nullable Decimal .

Sum(IQueryable<Int64>)

Calcola la somma di una sequenza di Int64 valori.

Sum(IQueryable<Int32>)

Calcola la somma di una sequenza di Int32 valori.

Sum(IQueryable<Double>)

Calcola la somma di una sequenza di Double valori.

Sum(IQueryable<Decimal>)

Calcola la somma di una sequenza di Decimal valori.

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

Calcola la somma della sequenza di Single valori ottenuta richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di valori nullable Single ottenuti richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di valori nullable Int64 ottenuti richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di valori nullable Int32 ottenuti richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di valori nullable Double ottenuti richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di valori nullable Decimal ottenuti richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di Int64 valori ottenuta richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di Int32 valori ottenuta richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di Double valori ottenuta richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Calcola la somma della sequenza di Decimal valori ottenuta richiamando una funzione di proiezione su ogni elemento della sequenza di input.

Sum(IQueryable<Single>)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma di una sequenza di Single valori.

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
IQueryable<Single>

Sequenza di Single valori di cui calcolare la somma.

Restituisce

Somma dei valori nella sequenza.

Eccezioni

source è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum(IQueryable<Single>) per sommare i valori di una sequenza.

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 oggetto MethodCallExpression che rappresenta la chiamata Sum(IQueryable<Single>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum(IQueryable<Single>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che restituisce la somma dei valori in source.

Si applica a

Sum(IQueryable<Nullable<Single>>)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma di una sequenza di valori nullable Single .

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

Parametri

source
IQueryable<Nullable<Single>>

Sequenza di valori nullable Single di cui calcolare la somma.

Restituisce

Somma dei valori nella sequenza.

Eccezioni

source è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum(IQueryable<Nullable<Single>>) per sommare i valori di una sequenza.

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 oggetto MethodCallExpression che rappresenta la chiamata Sum(IQueryable<Nullable<Single>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum(IQueryable<Nullable<Single>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che restituisce la somma dei valori in source.

Si applica a

Sum(IQueryable<Nullable<Int64>>)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma di una sequenza di valori nullable Int64 .

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

Parametri

source
IQueryable<Nullable<Int64>>

Sequenza di valori nullable Int64 di cui calcolare la somma.

Restituisce

Somma dei valori nella sequenza.

Eccezioni

source è null.

La somma è maggiore di Int64.MaxValue.

Commenti

Il Sum(IQueryable<Nullable<Int64>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum(IQueryable<Nullable<Int64>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum(IQueryable<Nullable<Int64>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che restituisce la somma dei valori in source.

Si applica a

Sum(IQueryable<Nullable<Int32>>)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma di una sequenza di valori nullable Int32 .

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

Parametri

source
IQueryable<Nullable<Int32>>

Sequenza di valori nullable Int32 di cui calcolare la somma.

Restituisce

Somma dei valori nella sequenza.

Eccezioni

source è null.

La somma è maggiore di Int32.MaxValue.

Commenti

Il Sum(IQueryable<Nullable<Int32>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum(IQueryable<Nullable<Int32>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum(IQueryable<Nullable<Int32>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che restituisce la somma dei valori in source.

Si applica a

Sum(IQueryable<Nullable<Double>>)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma di una sequenza di valori nullable Double .

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

Parametri

source
IQueryable<Nullable<Double>>

Sequenza di valori nullable Double di cui calcolare la somma.

Restituisce

Somma dei valori nella sequenza.

Eccezioni

source è null.

Commenti

Il Sum(IQueryable<Nullable<Double>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum(IQueryable<Nullable<Double>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum(IQueryable<Nullable<Double>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che restituisce la somma dei valori in source.

Si applica a

Sum(IQueryable<Nullable<Decimal>>)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma di una sequenza di valori nullable Decimal .

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

Parametri

source
IQueryable<Nullable<Decimal>>

Sequenza di valori nullable Decimal di cui calcolare la somma.

Restituisce

Somma dei valori nella sequenza.

Eccezioni

source è null.

La somma è maggiore di Decimal.MaxValue.

Commenti

Il Sum(IQueryable<Nullable<Decimal>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum(IQueryable<Nullable<Decimal>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum(IQueryable<Nullable<Decimal>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che restituisce la somma dei valori in source.

Si applica a

Sum(IQueryable<Int64>)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma di una sequenza di Int64 valori.

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
IQueryable<Int64>

Sequenza di Int64 valori di cui calcolare la somma.

Restituisce

Somma dei valori nella sequenza.

Eccezioni

source è null.

La somma è maggiore di Int64.MaxValue.

Commenti

Il Sum(IQueryable<Int64>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum(IQueryable<Int64>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum(IQueryable<Int64>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che restituisce la somma dei valori in source.

Si applica a

Sum(IQueryable<Int32>)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma di una sequenza di Int32 valori.

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
IQueryable<Int32>

Sequenza di Int32 valori di cui calcolare la somma.

Restituisce

Somma dei valori nella sequenza.

Eccezioni

source è null.

La somma è maggiore di Int32.MaxValue.

Commenti

Il Sum(IQueryable<Int32>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum(IQueryable<Int32>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum(IQueryable<Int32>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che restituisce la somma dei valori in source.

Si applica a

Sum(IQueryable<Double>)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma di una sequenza di Double valori.

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
IQueryable<Double>

Sequenza di Double valori di cui calcolare la somma.

Restituisce

Somma dei valori nella sequenza.

Eccezioni

source è null.

Commenti

Il Sum(IQueryable<Double>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum(IQueryable<Double>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum(IQueryable<Double>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che restituisce la somma dei valori in source.

Si applica a

Sum(IQueryable<Decimal>)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma di una sequenza di Decimal valori.

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
IQueryable<Decimal>

Sequenza di Decimal valori di cui calcolare la somma.

Restituisce

Somma dei valori nella sequenza.

Eccezioni

source è null.

La somma è maggiore di Decimal.MaxValue.

Commenti

Il Sum(IQueryable<Decimal>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum(IQueryable<Decimal>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum(IQueryable<Decimal>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che restituisce la somma dei valori in source.

Si applica a

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

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma della sequenza di Single valori ottenuta richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo TSource.

selector
Expression<Func<TSource,Single>>

Funzione di proiezione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Attributi

Eccezioni

source o selector è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) per sommare i valori proiettati di una sequenza.

Annotazioni

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

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 cui argomento di tipo è uno dei Func<T,TResult> tipi . Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un oggetto Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che richiama selector su ogni elemento di source e restituisce la somma dei valori risultanti.

Si applica a

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

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma della sequenza di valori nullable Single ottenuti richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo TSource.

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

Funzione di proiezione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Attributi

Eccezioni

source o selector è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) per sommare i valori proiettati di una sequenza.

Annotazioni

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

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 cui argomento di tipo è uno dei Func<T,TResult> tipi . Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un oggetto Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che richiama selector su ogni elemento di source e restituisce la somma dei valori risultanti.

Si applica a

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

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma della sequenza di valori nullable Int64 ottenuti richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo TSource.

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

Funzione di proiezione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Attributi

Eccezioni

source o selector è null.

La somma è maggiore di Int64.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) per sommare i valori proiettati di una sequenza.

Annotazioni

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

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 cui argomento di tipo è uno dei Func<T,TResult> tipi . Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un oggetto Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che richiama selector su ogni elemento di source e restituisce la somma dei valori risultanti.

Si applica a

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

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma della sequenza di valori nullable Int32 ottenuti richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo TSource.

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

Funzione di proiezione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Attributi

Eccezioni

source o selector è null.

La somma è maggiore di Int32.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) per sommare i valori proiettati di una sequenza.

Annotazioni

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

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 cui argomento di tipo è uno dei Func<T,TResult> tipi . Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un oggetto Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che richiama selector su ogni elemento di source e restituisce la somma dei valori risultanti.

Si applica a

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

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma della sequenza di valori nullable Double ottenuti richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo TSource.

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

Funzione di proiezione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Attributi

Eccezioni

source o selector è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) per sommare i valori proiettati di una sequenza.

Annotazioni

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

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 cui argomento di tipo è uno dei Func<T,TResult> tipi . Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un oggetto Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che richiama selector su ogni elemento di source e restituisce la somma dei valori risultanti.

Si applica a

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

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma della sequenza di valori nullable Decimal ottenuti richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo TSource.

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

Funzione di proiezione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Attributi

Eccezioni

source o selector è null.

La somma è maggiore di Decimal.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) per sommare i valori proiettati di una sequenza.

Annotazioni

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

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 cui argomento di tipo è uno dei Func<T,TResult> tipi . Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un oggetto Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che richiama selector su ogni elemento di source e restituisce la somma dei valori risultanti.

Si applica a

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

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma della sequenza di Int64 valori ottenuta richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo TSource.

selector
Expression<Func<TSource,Int64>>

Funzione di proiezione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Attributi

Eccezioni

source o selector è null.

La somma è maggiore di Int64.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) per sommare i valori proiettati di una sequenza.

Annotazioni

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

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 cui argomento di tipo è uno dei Func<T,TResult> tipi . Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un oggetto Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che richiama selector su ogni elemento di source e restituisce la somma dei valori risultanti.

Si applica a

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

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma della sequenza di Int32 valori ottenuta richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo TSource.

selector
Expression<Func<TSource,Int32>>

Funzione di proiezione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Attributi

Eccezioni

source o selector è null.

La somma è maggiore di Int32.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) per sommare i valori proiettati di una sequenza.

Annotazioni

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

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 cui argomento di tipo è uno dei Func<T,TResult> tipi . Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un oggetto Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che richiama selector su ogni elemento di source e restituisce la somma dei valori risultanti.

Si applica a

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

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma della sequenza di Double valori ottenuta richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo TSource.

selector
Expression<Func<TSource,Double>>

Funzione di proiezione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Attributi

Eccezioni

source o selector è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) per sommare i valori proiettati di una sequenza.

Annotazioni

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

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 cui argomento di tipo è uno dei Func<T,TResult> tipi . Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un oggetto Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che richiama selector su ogni elemento di source e restituisce la somma dei valori risultanti.

Si applica a

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

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Calcola la somma della sequenza di Decimal valori ottenuta richiamando una funzione di proiezione su ogni elemento della sequenza di input.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Sequenza di valori di tipo TSource.

selector
Expression<Func<TSource,Decimal>>

Funzione di proiezione da applicare a ogni elemento.

Restituisce

Somma dei valori proiettati.

Attributi

Eccezioni

source o selector è null.

La somma è maggiore di Decimal.MaxValue.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) per sommare i valori proiettati di una sequenza.

Annotazioni

Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto in questo articolo, modificare il corpo della selector funzione.

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 cui argomento di tipo è uno dei Func<T,TResult> tipi . Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un oggetto Expression<TDelegate>.

Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) metodo genera un oggetto MethodCallExpression che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che richiama selector su ogni elemento di source e restituisce la somma dei valori risultanti.

Si applica a