Queryable.Sum Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Calcola la somma di una sequenza di valori numerici.
Overload
Sum(IQueryable<Decimal>) |
Calcola la somma di una sequenza di valori Decimal. |
Sum(IQueryable<Double>) |
Calcola la somma di una sequenza di valori Double. |
Sum(IQueryable<Int32>) |
Calcola la somma di una sequenza di valori Int32. |
Sum(IQueryable<Int64>) |
Calcola la somma di una sequenza di valori Int64. |
Sum(IQueryable<Nullable<Decimal>>) |
Calcola la somma di una sequenza che ammette valori Decimal nullable. |
Sum(IQueryable<Nullable<Double>>) |
Calcola la somma di una sequenza che ammette valori Double nullable. |
Sum(IQueryable<Nullable<Int32>>) |
Calcola la somma di una sequenza che ammette valori Int32 nullable. |
Sum(IQueryable<Nullable<Int64>>) |
Calcola la somma di una sequenza che ammette valori Int64 nullable. |
Sum(IQueryable<Nullable<Single>>) |
Calcola la somma di una sequenza che ammette valori Single nullable. |
Sum(IQueryable<Single>) |
Calcola la somma di una sequenza di valori 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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
Sum(IQueryable<Decimal>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma di una sequenza di valori Decimal.
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 valori Decimal di cui calcolare la somma.
Restituisce
Somma dei valori della sequenza.
Eccezioni
source
è null
.
La somma è maggiore di Decimal.MaxValue.
Commenti
Il Sum(IQueryable<Decimal>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Decimal>) se stesso 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(IQueryable<Double>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma di una sequenza di valori Double.
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 valori Double di cui calcolare la somma.
Restituisce
Somma dei valori della sequenza.
Eccezioni
source
è null
.
Commenti
Il Sum(IQueryable<Double>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Double>) se stesso 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<Int32>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma di una sequenza di valori Int32.
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 valori Int32 di cui calcolare la somma.
Restituisce
Somma dei valori della sequenza.
Eccezioni
source
è null
.
La somma è maggiore di Int32.MaxValue.
Commenti
Il Sum(IQueryable<Int32>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Int32>) se stesso 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<Int64>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma di una sequenza di valori Int64.
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 valori Int64 di cui calcolare la somma.
Restituisce
Somma dei valori della sequenza.
Eccezioni
source
è null
.
La somma è maggiore di Int64.MaxValue.
Commenti
Il Sum(IQueryable<Int64>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Int64>) se stesso 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<Nullable<Decimal>>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma di una sequenza che ammette valori Decimal nullable.
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 che ammette valori Decimal nullable di cui calcolare la somma.
Restituisce
Somma dei valori della sequenza.
Eccezioni
source
è null
.
La somma è maggiore di Decimal.MaxValue.
Commenti
Il Sum(IQueryable<Nullable<Decimal>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Nullable<Decimal>>) se stesso 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<Nullable<Double>>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma di una sequenza che ammette valori Double nullable.
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 che ammette valori Double nullable di cui calcolare la somma.
Restituisce
Somma dei valori della sequenza.
Eccezioni
source
è null
.
Commenti
Il Sum(IQueryable<Nullable<Double>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Nullable<Double>>) se stesso 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<Int32>>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma di una sequenza che ammette valori Int32 nullable.
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 che ammette valori Int32 nullable di cui calcolare la somma.
Restituisce
Somma dei valori della sequenza.
Eccezioni
source
è null
.
La somma è maggiore di Int32.MaxValue.
Commenti
Il Sum(IQueryable<Nullable<Int32>>) metodo genera un MethodCallExpression oggetto che rappresenta Sum(IQueryable<Nullable<Int32>>) se stesso 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<Int64>>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma di una sequenza che ammette valori Int64 nullable.
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 che ammette valori Int64 nullable di cui calcolare la somma.
Restituisce
Somma dei valori della sequenza.
Eccezioni
source
è null
.
La somma è maggiore di Int64.MaxValue.
Commenti
Il Sum(IQueryable<Nullable<Int64>>) metodo genera un MethodCallExpression oggetto 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<Single>>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma di una sequenza che ammette valori Single nullable.
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 che ammette valori Single nullable di cui calcolare la somma.
Restituisce
Somma dei valori della 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 MethodCallExpression oggetto 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<Single>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma di una sequenza di valori Single.
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 valori Single di cui calcolare la somma.
Restituisce
Somma dei valori della 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 MethodCallExpression oggetto 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<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma della sequenza di valori Single ottenuta chiamando 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);
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.
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.
Nota
Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da 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 il Func<T,TResult> cui argomento di tipo Expression<TDelegate> è uno dei tipi. Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un Expression<TDelegate>oggetto .
Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) metodo genera un MethodCallExpression oggetto 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
Calcola la somma della sequenza di valori Single nullable, ottenuta chiamando 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);
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.
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.
Nota
Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da 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 il Func<T,TResult> cui argomento di tipo Expression<TDelegate> è uno dei tipi. Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un Expression<TDelegate>oggetto .
Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) metodo genera un MethodCallExpression oggetto 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
Calcola la somma della sequenza di valori Int64 nullable, ottenuta chiamando 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);
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.
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.
Nota
Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da 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 il Func<T,TResult> cui argomento di tipo Expression<TDelegate> è uno dei tipi. Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un Expression<TDelegate>oggetto .
Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) metodo genera un MethodCallExpression oggetto 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<Double>>>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma della sequenza di valori Double nullable, ottenuta chiamando 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);
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.
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.
Nota
Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da 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 il Func<T,TResult> cui argomento di tipo Expression<TDelegate> è uno dei tipi. Per questi parametri, è possibile passare un'espressione lambda e verrà compilata in un Expression<TDelegate>oggetto .
Il Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) metodo genera un MethodCallExpression oggetto 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<Int32>>>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma della sequenza di valori Int32 nullable, ottenuta chiamando 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);
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.
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.
Nota
Questo esempio di codice usa un overload del metodo diverso dall'overload specifico descritto in questo articolo. Per estendere l'esempio all'overload descritto da 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 MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) se stesso 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,Int64>>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma della sequenza di valori Int64 ottenuta chiamando 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);
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.
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.
Nota
In questo esempio di codice viene usato 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 MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) se stesso 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,Nullable<Decimal>>>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma della sequenza di valori Decimal nullable, ottenuta chiamando 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);
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.
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.
Nota
In questo esempio di codice viene usato 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 MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) se stesso 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,Int32>>)
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
- Origine:
- Queryable.cs
Calcola la somma della sequenza di valori Int32 ottenuta chiamando 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);
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.
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.
Nota
In questo esempio di codice viene usato 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 MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) se stesso 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
Calcola la somma della sequenza di valori Double ottenuta chiamando 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);
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.
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.
Nota
In questo esempio di codice viene usato 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 MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) se stesso 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
Calcola la somma della sequenza di valori Decimal ottenuta chiamando 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);
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.
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.
Nota
In questo esempio di codice viene usato 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 MethodCallExpression oggetto che rappresenta Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) se stesso 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.