Queryable.Sum Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vypočítá součet posloupnosti číselných hodnot.
Přetížení
Sum(IQueryable<Decimal>) |
Vypočítá součet posloupnosti Decimal hodnot. |
Sum(IQueryable<Double>) |
Vypočítá součet posloupnosti Double hodnot. |
Sum(IQueryable<Int32>) |
Vypočítá součet posloupnosti Int32 hodnot. |
Sum(IQueryable<Int64>) |
Vypočítá součet posloupnosti Int64 hodnot. |
Sum(IQueryable<Nullable<Decimal>>) |
Vypočítá součet posloupnosti hodnot s možnou Decimal hodnotou null. |
Sum(IQueryable<Nullable<Double>>) |
Vypočítá součet posloupnosti hodnot s možnou Double hodnotou null. |
Sum(IQueryable<Nullable<Int32>>) |
Vypočítá součet posloupnosti hodnot s možnou Int32 hodnotou null. |
Sum(IQueryable<Nullable<Int64>>) |
Vypočítá součet posloupnosti hodnot s možnou Int64 hodnotou null. |
Sum(IQueryable<Nullable<Single>>) |
Vypočítá součet posloupnosti hodnot s možnou Single hodnotou null. |
Sum(IQueryable<Single>) |
Vypočítá součet posloupnosti Single hodnot. |
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) |
Vypočítá součet posloupnosti Single hodnot, který se získá vyvoláním funkce projekce na každý prvek vstupní sekvence. |
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) |
Vypočítá součet posloupnosti hodnot s možnou Single hodnotou null, která se získá vyvoláním funkce projekce na každý prvek vstupní sekvence. |
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) |
Vypočítá součet posloupnosti hodnot s možnou Int64 hodnotou null, která se získá vyvoláním funkce projekce na každý prvek vstupní sekvence. |
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) |
Vypočítá součet posloupnosti hodnot s možnou Double hodnotou null, která se získá vyvoláním funkce projekce na každý prvek vstupní sekvence. |
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) |
Vypočítá součet posloupnosti hodnot s možnou Int32 hodnotou null, která se získá vyvoláním funkce projekce na každý prvek vstupní sekvence. |
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) |
Vypočítá součet posloupnosti Int64 hodnot, který se získá vyvoláním funkce projekce na každý prvek vstupní sekvence. |
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) |
Vypočítá součet posloupnosti hodnot s možnou Decimal hodnotou null, která se získá vyvoláním funkce projekce na každý prvek vstupní sekvence. |
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) |
Vypočítá součet posloupnosti Int32 hodnot, který se získá vyvoláním funkce projekce na každý prvek vstupní sekvence. |
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) |
Vypočítá součet posloupnosti Double hodnot, který se získá vyvoláním funkce projekce na každý prvek vstupní sekvence. |
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) |
Vypočítá součet posloupnosti Decimal hodnot, který se získá vyvoláním funkce projekce na každý prvek vstupní sekvence. |
Sum(IQueryable<Decimal>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti Decimal hodnot.
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
Parametry
- source
- IQueryable<Decimal>
Posloupnost Decimal hodnot pro výpočet součtu.
Návraty
Součet hodnot v pořadí.
Výjimky
source
je null
.
Součet je větší než Decimal.MaxValue.
Poznámky
Metoda Sum(IQueryable<Decimal>) vygeneruje metodu MethodCallExpression , která představuje volání Sum(IQueryable<Decimal>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání Sum(IQueryable<Decimal>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vrátí součet hodnot v source
.
Platí pro
Sum(IQueryable<Double>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti Double hodnot.
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
Parametry
- source
- IQueryable<Double>
Posloupnost Double hodnot pro výpočet součtu.
Návraty
Součet hodnot v pořadí.
Výjimky
source
je null
.
Poznámky
Metoda Sum(IQueryable<Double>) vygeneruje metodu MethodCallExpression , která představuje volání Sum(IQueryable<Double>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání Sum(IQueryable<Double>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vrátí součet hodnot v source
.
Platí pro
Sum(IQueryable<Int32>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti Int32 hodnot.
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
Parametry
- source
- IQueryable<Int32>
Posloupnost Int32 hodnot pro výpočet součtu.
Návraty
Součet hodnot v pořadí.
Výjimky
source
je null
.
Součet je větší než Int32.MaxValue.
Poznámky
Metoda Sum(IQueryable<Int32>) vygeneruje metodu MethodCallExpression , která představuje volání Sum(IQueryable<Int32>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání Sum(IQueryable<Int32>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vrátí součet hodnot v source
.
Platí pro
Sum(IQueryable<Int64>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti Int64 hodnot.
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
Parametry
- source
- IQueryable<Int64>
Posloupnost Int64 hodnot pro výpočet součtu.
Návraty
Součet hodnot v pořadí.
Výjimky
source
je null
.
Součet je větší než Int64.MaxValue.
Poznámky
Metoda Sum(IQueryable<Int64>) vygeneruje metodu MethodCallExpression , která představuje volání Sum(IQueryable<Int64>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání Sum(IQueryable<Int64>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vrátí součet hodnot v source
.
Platí pro
Sum(IQueryable<Nullable<Decimal>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti hodnot s možnou Decimal hodnotou null.
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)
Parametry
- source
- IQueryable<Nullable<Decimal>>
Posloupnost hodnot s možnou Decimal hodnotou null pro výpočet součtu.
Návraty
Součet hodnot v pořadí.
Výjimky
source
je null
.
Součet je větší než Decimal.MaxValue.
Poznámky
Metoda Sum(IQueryable<Nullable<Decimal>>) vygeneruje metodu MethodCallExpression , která představuje volání Sum(IQueryable<Nullable<Decimal>>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání Sum(IQueryable<Nullable<Decimal>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vrátí součet hodnot v source
.
Platí pro
Sum(IQueryable<Nullable<Double>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti hodnot s možnou Double hodnotou null.
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)
Parametry
- source
- IQueryable<Nullable<Double>>
Posloupnost hodnot s možnou Double hodnotou null pro výpočet součtu.
Návraty
Součet hodnot v pořadí.
Výjimky
source
je null
.
Poznámky
Metoda Sum(IQueryable<Nullable<Double>>) vygeneruje metodu MethodCallExpression , která představuje volání Sum(IQueryable<Nullable<Double>>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání Sum(IQueryable<Nullable<Double>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vrátí součet hodnot v source
.
Platí pro
Sum(IQueryable<Nullable<Int32>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti hodnot s možnou Int32 hodnotou null.
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)
Parametry
- source
- IQueryable<Nullable<Int32>>
Posloupnost hodnot s možnou Int32 hodnotou null pro výpočet součtu.
Návraty
Součet hodnot v sekvenci
Výjimky
source
je null
.
Součet je větší než Int32.MaxValue.
Poznámky
Metoda Sum(IQueryable<Nullable<Int32>>) vygeneruje metodu MethodCallExpression , která představuje volání Sum(IQueryable<Nullable<Int32>>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Sum(IQueryable<Nullable<Int32>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vrací součet hodnot v source
.
Platí pro
Sum(IQueryable<Nullable<Int64>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti hodnot s možnou Int64 hodnotou null.
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)
Parametry
- source
- IQueryable<Nullable<Int64>>
Posloupnost hodnot s možnou Int64 hodnotou null pro výpočet součtu.
Návraty
Součet hodnot v sekvenci
Výjimky
source
je null
.
Součet je větší než Int64.MaxValue.
Poznámky
Metoda Sum(IQueryable<Nullable<Int64>>) vygeneruje MethodCallExpression , který představuje volání Sum(IQueryable<Nullable<Int64>>) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionExecute<TResult>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Sum(IQueryable<Nullable<Int64>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vrací součet hodnot v source
.
Platí pro
Sum(IQueryable<Nullable<Single>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti hodnot s možnou Single hodnotou null.
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)
Parametry
- source
- IQueryable<Nullable<Single>>
Posloupnost hodnot s možnou Single hodnotou null pro výpočet součtu.
Návraty
Součet hodnot v sekvenci
Výjimky
source
je null
.
Příklady
Následující příklad kódu ukazuje, jak použít Sum(IQueryable<Nullable<Single>>) k sečtení hodnot sekvence.
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
Poznámky
Metoda Sum(IQueryable<Nullable<Single>>) vygeneruje MethodCallExpression , který představuje volání Sum(IQueryable<Nullable<Single>>) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionExecute<TResult>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Sum(IQueryable<Nullable<Single>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vrací součet hodnot v source
.
Platí pro
Sum(IQueryable<Single>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti Single hodnot.
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
Parametry
- source
- IQueryable<Single>
Posloupnost Single hodnot pro výpočet součtu.
Návraty
Součet hodnot v sekvenci
Výjimky
source
je null
.
Příklady
Následující příklad kódu ukazuje, jak použít Sum(IQueryable<Single>) k sečtení hodnot sekvence.
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.
Poznámky
Metoda Sum(IQueryable<Single>) vygeneruje MethodCallExpression , který představuje volání Sum(IQueryable<Single>) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionExecute<TResult>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Sum(IQueryable<Single>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vrací součet hodnot v source
.
Platí pro
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti Single hodnot, která je získána vyvoláním funkce projekce pro každý prvek vstupní sekvence.
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
Parametry typu
- TSource
Typ prvků objektu source
.
Parametry
- source
- IQueryable<TSource>
Posloupnost hodnot typu TSource
.
- selector
- Expression<Func<TSource,Single>>
Projekční funkce, která se použije u každého prvku.
Návraty
Součet předpokládaných hodnot.
Výjimky
source
nebo selector
je null
.
Příklady
Následující příklad kódu ukazuje, jak použít Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) k sečtení projektovaných hodnot sekvence.
Poznámka
Tento příklad kódu používá přetížení metody, které se liší od konkrétního přetížení popsaného v tomto článku. Pokud chcete příklad rozšířit na přetížení popsané v tomto článku, změňte tělo selector
funkce.
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
Poznámky
Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.
Metoda Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) vygeneruje MethodCallExpression , který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionExecute<TResult>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vyvolá selector
u každého prvku source
a vrátí součet výsledných hodnot.
Platí pro
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti hodnot s možnou Single hodnotou null, která je získána vyvoláním funkce projekce pro každý prvek vstupní sekvence.
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)
Parametry typu
- TSource
Typ prvků objektu source
.
Parametry
- source
- IQueryable<TSource>
Posloupnost hodnot typu TSource
.
- selector
- Expression<Func<TSource,Nullable<Single>>>
Projekční funkce, která se použije u každého prvku.
Návraty
Součet předpokládaných hodnot.
Výjimky
source
nebo selector
je null
.
Příklady
Následující příklad kódu ukazuje, jak použít Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) k sečtení projektovaných hodnot sekvence.
Poznámka
Tento příklad kódu používá přetížení metody, které se liší od konkrétního přetížení popsaného v tomto článku. Pokud chcete příklad rozšířit na přetížení popsané v tomto článku, změňte tělo selector
funkce.
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
Poznámky
Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.
Metoda Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) vygeneruje MethodCallExpression , který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionExecute<TResult>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vyvolá selector
u každého prvku source
a vrátí součet výsledných hodnot.
Platí pro
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti hodnot s možnou Int64 hodnotou null, která je získána vyvoláním funkce projekce pro každý prvek vstupní sekvence.
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)
Parametry typu
- TSource
Typ prvků objektu source
.
Parametry
- source
- IQueryable<TSource>
Posloupnost hodnot typu TSource
.
- selector
- Expression<Func<TSource,Nullable<Int64>>>
Projekční funkce, která se použije u každého prvku.
Návraty
Součet předpokládaných hodnot.
Výjimky
source
nebo selector
je null
.
Součet je větší než Int64.MaxValue.
Příklady
Následující příklad kódu ukazuje, jak použít Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) k sečtení projektovaných hodnot sekvence.
Poznámka
Tento příklad kódu používá přetížení metody, které se liší od konkrétního přetížení popsaného v tomto článku. Pokud chcete příklad rozšířit na přetížení popsané v tomto článku, změňte tělo selector
funkce.
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
Poznámky
Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.
Metoda Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) vygeneruje MethodCallExpression , který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionExecute<TResult>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vyvolá selector
u každého prvku source
a vrátí součet výsledných hodnot.
Platí pro
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti hodnot s možnou Double hodnotou null, která je získána vyvoláním funkce projekce pro každý prvek vstupní sekvence.
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)
Parametry typu
- TSource
Typ prvků objektu source
.
Parametry
- source
- IQueryable<TSource>
Posloupnost hodnot typu TSource
.
- selector
- Expression<Func<TSource,Nullable<Double>>>
Projekční funkce, která se použije u každého prvku.
Návraty
Součet předpokládaných hodnot.
Výjimky
source
nebo selector
je null
.
Příklady
Následující příklad kódu ukazuje, jak použít Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) k sečtení projektovaných hodnot sekvence.
Poznámka
Tento příklad kódu používá přetížení metody, které se liší od konkrétního přetížení popsaného v tomto článku. Pokud chcete příklad rozšířit na přetížení popsané v tomto článku, změňte tělo selector
funkce.
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
Poznámky
Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.
Metoda Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) vygeneruje MethodCallExpression , který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionExecute<TResult>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vyvolá selector
u každého prvku source
a vrátí součet výsledných hodnot.
Platí pro
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti hodnot s možnou Int32 hodnotou null, která se získá vyvoláním funkce projekce na každý prvek vstupní sekvence.
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)
Parametry typu
- TSource
Typ elementů .source
Parametry
- source
- IQueryable<TSource>
Posloupnost hodnot typu TSource
.
- selector
- Expression<Func<TSource,Nullable<Int32>>>
Funkce projekce, která se má použít pro každý prvek.
Návraty
Součet předpokládaných hodnot.
Výjimky
source
nebo selector
je null
.
Součet je větší než Int32.MaxValue.
Příklady
Následující příklad kódu ukazuje, jak použít Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) k sečtení projektovaných hodnot sekvence.
Poznámka
Tento příklad kódu používá přetížení metody, které se liší od konkrétního přetížení popsaného v tomto článku. Pokud chcete příklad rozšířit na přetížení popsané v tomto článku, změňte tělo selector
funkce.
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
Poznámky
Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.
Metoda Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) vygeneruje metodu MethodCallExpression , která představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vyvolá selector
na každý prvek a source
vrátí součet výsledných hodnot.
Platí pro
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti Int64 hodnot, který se získá vyvoláním funkce projekce na každý prvek vstupní sekvence.
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
Parametry typu
- TSource
Typ elementů .source
Parametry
- source
- IQueryable<TSource>
Posloupnost hodnot typu TSource
.
- selector
- Expression<Func<TSource,Int64>>
Funkce projekce, která se má použít pro každý prvek.
Návraty
Součet předpokládaných hodnot.
Výjimky
source
nebo selector
je null
.
Součet je větší než Int64.MaxValue.
Příklady
Následující příklad kódu ukazuje, jak použít Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) k sečtení předpokládaných hodnot sekvence.
Poznámka
Tento příklad kódu používá přetížení metody, které se liší od konkrétního přetížení popsaného v tomto článku. Pokud chcete příklad rozšířit na přetížení popsané v tomto článku, změňte tělo selector
funkce.
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
Poznámky
Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.
Metoda Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) vygeneruje metodu MethodCallExpression , která představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vyvolá selector
na každý prvek a source
vrátí součet výsledných hodnot.
Platí pro
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti hodnot s možnou Decimal hodnotou null, která se získá vyvoláním funkce projekce na každý prvek vstupní sekvence.
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)
Parametry typu
- TSource
Typ elementů .source
Parametry
- source
- IQueryable<TSource>
Posloupnost hodnot typu TSource
.
- selector
- Expression<Func<TSource,Nullable<Decimal>>>
Funkce projekce, která se má použít pro každý prvek.
Návraty
Součet předpokládaných hodnot.
Výjimky
source
nebo selector
je null
.
Součet je větší než Decimal.MaxValue.
Příklady
Následující příklad kódu ukazuje, jak použít Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) k sečtení předpokládaných hodnot sekvence.
Poznámka
Tento příklad kódu používá přetížení metody, které se liší od konkrétního přetížení popsaného v tomto článku. Pokud chcete příklad rozšířit na přetížení popsané v tomto článku, změňte tělo selector
funkce.
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
Poznámky
Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.
Metoda Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) vygeneruje metodu MethodCallExpression , která představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vyvolá selector
na každý prvek a source
vrátí součet výsledných hodnot.
Platí pro
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti Int32 hodnot, který se získá vyvoláním funkce projekce na každý prvek vstupní sekvence.
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
Parametry typu
- TSource
Typ elementů .source
Parametry
- source
- IQueryable<TSource>
Posloupnost hodnot typu TSource
.
- selector
- Expression<Func<TSource,Int32>>
Funkce projekce, která se má použít pro každý prvek.
Návraty
Součet předpokládaných hodnot.
Výjimky
source
nebo selector
je null
.
Součet je větší než Int32.MaxValue.
Příklady
Následující příklad kódu ukazuje, jak použít Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) k sečtení předpokládaných hodnot sekvence.
Poznámka
Tento příklad kódu používá přetížení metody, které se liší od konkrétního přetížení popsaného v tomto článku. Pokud chcete příklad rozšířit na přetížení popsané v tomto článku, změňte tělo selector
funkce.
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
Poznámky
Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.
Metoda Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) vygeneruje metodu MethodCallExpression , která představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vyvolá selector
na každý prvek a source
vrátí součet výsledných hodnot.
Platí pro
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti Double hodnot, který se získá vyvoláním funkce projekce na každý prvek vstupní sekvence.
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
Parametry typu
- TSource
Typ elementů .source
Parametry
- source
- IQueryable<TSource>
Posloupnost hodnot typu TSource
.
- selector
- Expression<Func<TSource,Double>>
Funkce projekce, která se má použít pro každý prvek.
Návraty
Součet předpokládaných hodnot.
Výjimky
source
nebo selector
je null
.
Příklady
Následující příklad kódu ukazuje, jak použít Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) k sečtení předpokládaných hodnot sekvence.
Poznámka
Tento příklad kódu používá přetížení metody, které se liší od konkrétního přetížení popsaného v tomto článku. Pokud chcete příklad rozšířit na přetížení popsané v tomto článku, změňte tělo selector
funkce.
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
Poznámky
Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.
Metoda Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) vygeneruje metodu MethodCallExpression , která představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vyvolá selector
na každý prvek a source
vrátí součet výsledných hodnot.
Platí pro
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vypočítá součet posloupnosti Decimal hodnot, který se získá vyvoláním funkce projekce na každý prvek vstupní sekvence.
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
Parametry typu
- TSource
Typ elementů .source
Parametry
- source
- IQueryable<TSource>
Posloupnost hodnot typu TSource
.
- selector
- Expression<Func<TSource,Decimal>>
Funkce projekce, která se má použít pro každý prvek.
Návraty
Součet předpokládaných hodnot.
Výjimky
source
nebo selector
je null
.
Součet je větší než Decimal.MaxValue.
Příklady
Následující příklad kódu ukazuje, jak použít Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) k sečtení předpokládaných hodnot sekvence.
Poznámka
Tento příklad kódu používá přetížení metody, které se liší od konkrétního přetížení popsaného v tomto článku. Pokud chcete příklad rozšířit na přetížení popsané v tomto článku, změňte tělo selector
funkce.
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
Poznámky
Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.
Metoda Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) vygeneruje metodu MethodCallExpression , která představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vyvolá selector
na každý prvek a source
vrátí součet výsledných hodnot.