Queryable.Sum Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Berekent de som van een reeks numerieke waarden.
Overloads
| Name | Description |
|---|---|
| Sum(IQueryable<Single>) |
Berekent de som van een reeks Single waarden. |
| Sum(IQueryable<Nullable<Single>>) |
Berekent de som van een reeks null-waarden Single . |
| Sum(IQueryable<Nullable<Int64>>) |
Berekent de som van een reeks null-waarden Int64 . |
| Sum(IQueryable<Nullable<Int32>>) |
Berekent de som van een reeks null-waarden Int32 . |
| Sum(IQueryable<Nullable<Double>>) |
Berekent de som van een reeks null-waarden Double . |
| Sum(IQueryable<Double>) |
Berekent de som van een reeks Double waarden. |
| Sum(IQueryable<Int64>) |
Berekent de som van een reeks Int64 waarden. |
| Sum(IQueryable<Int32>) |
Berekent de som van een reeks Int32 waarden. |
| Sum(IQueryable<Nullable<Decimal>>) |
Berekent de som van een reeks null-waarden Decimal . |
| Sum(IQueryable<Decimal>) |
Berekent de som van een reeks Decimal waarden. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) |
Berekent de som van de reeks null-waarden Single die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) |
Berekent de som van de reeks null-waarden Int64 die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) |
Berekent de som van de reeks null-waarden Int32 die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) |
Berekent de som van de reeks null-waarden Double die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) |
Berekent de som van de reeks Single waarden die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) |
Berekent de som van de reeks Int64 waarden die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) |
Berekent de som van de reeks Int32 waarden die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) |
Berekent de som van de reeks Double waarden die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) |
Berekent de som van de reeks Decimal waarden die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) |
Berekent de som van de reeks null-waarden Decimal die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks. |
Sum(IQueryable<Single>)
Berekent de som van een reeks Single waarden.
public:
[System::Runtime::CompilerServices::Extension]
static float Sum(System::Linq::IQueryable<float> ^ source);
public static float Sum(this System.Linq.IQueryable<float> source);
static member Sum : System.Linq.IQueryable<single> -> single
<Extension()>
Public Function Sum (source As IQueryable(Of Single)) As Single
Parameters
- source
- IQueryable<Single>
Een reeks Single waarden om de som van te berekenen.
Retouren
De som van de waarden in de reeks.
Uitzonderingen
source is null.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Sum(IQueryable<Single>) u de waarden van een reeks optelt.
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.
Opmerkingen
De Sum(IQueryable<Single>) methode genereert een MethodCallExpression die zichzelf aanroept Sum(IQueryable<Single>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum(IQueryable<Single>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het de som van de waarden in sourceretourneert.
Van toepassing op
Sum(IQueryable<Nullable<Single>>)
Berekent de som van een reeks null-waarden Single .
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<float> Sum(System::Linq::IQueryable<Nullable<float>> ^ source);
public static float? Sum(this System.Linq.IQueryable<float?> source);
static member Sum : System.Linq.IQueryable<Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Single))) As Nullable(Of Single)
Parameters
- source
- IQueryable<Nullable<Single>>
Een reeks null-waarden Single om de som van te berekenen.
Retouren
De som van de waarden in de reeks.
Uitzonderingen
source is null.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Sum(IQueryable<Nullable<Single>>) u de waarden van een reeks optelt.
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
Opmerkingen
De Sum(IQueryable<Nullable<Single>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum(IQueryable<Nullable<Single>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum(IQueryable<Nullable<Single>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het de som van de waarden in sourceretourneert.
Van toepassing op
Sum(IQueryable<Nullable<Int64>>)
Berekent de som van een reeks null-waarden Int64 .
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<long> Sum(System::Linq::IQueryable<Nullable<long>> ^ source);
public static long? Sum(this System.Linq.IQueryable<long?> source);
static member Sum : System.Linq.IQueryable<Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Long))) As Nullable(Of Long)
Parameters
- source
- IQueryable<Nullable<Int64>>
Een reeks null-waarden Int64 om de som van te berekenen.
Retouren
De som van de waarden in de reeks.
Uitzonderingen
source is null.
De som is groter dan Int64.MaxValue.
Opmerkingen
De Sum(IQueryable<Nullable<Int64>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum(IQueryable<Nullable<Int64>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum(IQueryable<Nullable<Int64>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het de som van de waarden in sourceretourneert.
Van toepassing op
Sum(IQueryable<Nullable<Int32>>)
Berekent de som van een reeks null-waarden Int32 .
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<int> Sum(System::Linq::IQueryable<Nullable<int>> ^ source);
public static int? Sum(this System.Linq.IQueryable<int?> source);
static member Sum : System.Linq.IQueryable<Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Integer))) As Nullable(Of Integer)
Parameters
- source
- IQueryable<Nullable<Int32>>
Een reeks null-waarden Int32 om de som van te berekenen.
Retouren
De som van de waarden in de reeks.
Uitzonderingen
source is null.
De som is groter dan Int32.MaxValue.
Opmerkingen
De Sum(IQueryable<Nullable<Int32>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum(IQueryable<Nullable<Int32>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum(IQueryable<Nullable<Int32>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het de som van de waarden in sourceretourneert.
Van toepassing op
Sum(IQueryable<Nullable<Double>>)
Berekent de som van een reeks null-waarden Double .
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<double> Sum(System::Linq::IQueryable<Nullable<double>> ^ source);
public static double? Sum(this System.Linq.IQueryable<double?> source);
static member Sum : System.Linq.IQueryable<Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Double))) As Nullable(Of Double)
Parameters
- source
- IQueryable<Nullable<Double>>
Een reeks null-waarden Double om de som van te berekenen.
Retouren
De som van de waarden in de reeks.
Uitzonderingen
source is null.
Opmerkingen
De Sum(IQueryable<Nullable<Double>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum(IQueryable<Nullable<Double>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum(IQueryable<Nullable<Double>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het de som van de waarden in sourceretourneert.
Van toepassing op
Sum(IQueryable<Double>)
Berekent de som van een reeks Double waarden.
public:
[System::Runtime::CompilerServices::Extension]
static double Sum(System::Linq::IQueryable<double> ^ source);
public static double Sum(this System.Linq.IQueryable<double> source);
static member Sum : System.Linq.IQueryable<double> -> double
<Extension()>
Public Function Sum (source As IQueryable(Of Double)) As Double
Parameters
- source
- IQueryable<Double>
Een reeks Double waarden om de som van te berekenen.
Retouren
De som van de waarden in de reeks.
Uitzonderingen
source is null.
Opmerkingen
De Sum(IQueryable<Double>) methode genereert een MethodCallExpression die zichzelf aanroept Sum(IQueryable<Double>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum(IQueryable<Double>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het de som van de waarden in sourceretourneert.
Van toepassing op
Sum(IQueryable<Int64>)
Berekent de som van een reeks Int64 waarden.
public:
[System::Runtime::CompilerServices::Extension]
static long Sum(System::Linq::IQueryable<long> ^ source);
public static long Sum(this System.Linq.IQueryable<long> source);
static member Sum : System.Linq.IQueryable<int64> -> int64
<Extension()>
Public Function Sum (source As IQueryable(Of Long)) As Long
Parameters
- source
- IQueryable<Int64>
Een reeks Int64 waarden om de som van te berekenen.
Retouren
De som van de waarden in de reeks.
Uitzonderingen
source is null.
De som is groter dan Int64.MaxValue.
Opmerkingen
De Sum(IQueryable<Int64>) methode genereert een MethodCallExpression die zichzelf aanroept Sum(IQueryable<Int64>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum(IQueryable<Int64>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het de som van de waarden in sourceretourneert.
Van toepassing op
Sum(IQueryable<Int32>)
Berekent de som van een reeks Int32 waarden.
public:
[System::Runtime::CompilerServices::Extension]
static int Sum(System::Linq::IQueryable<int> ^ source);
public static int Sum(this System.Linq.IQueryable<int> source);
static member Sum : System.Linq.IQueryable<int> -> int
<Extension()>
Public Function Sum (source As IQueryable(Of Integer)) As Integer
Parameters
- source
- IQueryable<Int32>
Een reeks Int32 waarden om de som van te berekenen.
Retouren
De som van de waarden in de reeks.
Uitzonderingen
source is null.
De som is groter dan Int32.MaxValue.
Opmerkingen
De Sum(IQueryable<Int32>) methode genereert een MethodCallExpression die zichzelf aanroept Sum(IQueryable<Int32>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum(IQueryable<Int32>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het de som van de waarden in sourceretourneert.
Van toepassing op
Sum(IQueryable<Nullable<Decimal>>)
Berekent de som van een reeks null-waarden Decimal .
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<System::Decimal> Sum(System::Linq::IQueryable<Nullable<System::Decimal>> ^ source);
public static decimal? Sum(this System.Linq.IQueryable<decimal?> source);
static member Sum : System.Linq.IQueryable<Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Decimal))) As Nullable(Of Decimal)
Parameters
- source
- IQueryable<Nullable<Decimal>>
Een reeks null-waarden Decimal om de som van te berekenen.
Retouren
De som van de waarden in de reeks.
Uitzonderingen
source is null.
De som is groter dan Decimal.MaxValue.
Opmerkingen
De Sum(IQueryable<Nullable<Decimal>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum(IQueryable<Nullable<Decimal>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum(IQueryable<Nullable<Decimal>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het de som van de waarden in sourceretourneert.
Van toepassing op
Sum(IQueryable<Decimal>)
Berekent de som van een reeks Decimal waarden.
public:
[System::Runtime::CompilerServices::Extension]
static System::Decimal Sum(System::Linq::IQueryable<System::Decimal> ^ source);
public static decimal Sum(this System.Linq.IQueryable<decimal> source);
static member Sum : System.Linq.IQueryable<decimal> -> decimal
<Extension()>
Public Function Sum (source As IQueryable(Of Decimal)) As Decimal
Parameters
- source
- IQueryable<Decimal>
Een reeks Decimal waarden om de som van te berekenen.
Retouren
De som van de waarden in de reeks.
Uitzonderingen
source is null.
De som is groter dan Decimal.MaxValue.
Opmerkingen
De Sum(IQueryable<Decimal>) methode genereert een MethodCallExpression die zichzelf aanroept Sum(IQueryable<Decimal>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum(IQueryable<Decimal>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het de som van de waarden in sourceretourneert.
Van toepassing op
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>)
Berekent de som van de reeks null-waarden Single die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks.
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)
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een reeks waarden van het type TSource.
- selector
- Expression<Func<TSource,Nullable<Single>>>
Een projectiefunctie die op elk element moet worden toegepast.
Retouren
De som van de verwachte waarden.
Uitzonderingen
source of selector is null.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) u de verwachte waarden van een reeks kunt optellen.
Note
In dit codevoorbeeld wordt een overbelasting gebruikt van de methode die verschilt van de specifieke overbelasting die in dit artikel wordt beschreven. Als u het voorbeeld wilt uitbreiden naar de overbelasting die in dit artikel wordt beschreven, wijzigt u de hoofdtekst van de selector functie.
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
Opmerkingen
Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.
De Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het aanroept selector op elk element van source en de som van de resulterende waarden retourneert.
Van toepassing op
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)
Berekent de som van de reeks null-waarden Int64 die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks.
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)
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een reeks waarden van het type TSource.
- selector
- Expression<Func<TSource,Nullable<Int64>>>
Een projectiefunctie die op elk element moet worden toegepast.
Retouren
De som van de verwachte waarden.
Uitzonderingen
source of selector is null.
De som is groter dan Int64.MaxValue.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) u de verwachte waarden van een reeks kunt optellen.
Note
In dit codevoorbeeld wordt een overbelasting gebruikt van de methode die verschilt van de specifieke overbelasting die in dit artikel wordt beschreven. Als u het voorbeeld wilt uitbreiden naar de overbelasting die in dit artikel wordt beschreven, wijzigt u de hoofdtekst van de selector functie.
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
Opmerkingen
Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.
De Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het aanroept selector op elk element van source en de som van de resulterende waarden retourneert.
Van toepassing op
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)
Berekent de som van de reeks null-waarden Int32 die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks.
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)
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een reeks waarden van het type TSource.
- selector
- Expression<Func<TSource,Nullable<Int32>>>
Een projectiefunctie die op elk element moet worden toegepast.
Retouren
De som van de verwachte waarden.
Uitzonderingen
source of selector is null.
De som is groter dan Int32.MaxValue.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) u de verwachte waarden van een reeks kunt optellen.
Note
In dit codevoorbeeld wordt een overbelasting gebruikt van de methode die verschilt van de specifieke overbelasting die in dit artikel wordt beschreven. Als u het voorbeeld wilt uitbreiden naar de overbelasting die in dit artikel wordt beschreven, wijzigt u de hoofdtekst van de selector functie.
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
Opmerkingen
Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.
De Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het aanroept selector op elk element van source en de som van de resulterende waarden retourneert.
Van toepassing op
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)
Berekent de som van de reeks null-waarden Double die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks.
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)
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een reeks waarden van het type TSource.
- selector
- Expression<Func<TSource,Nullable<Double>>>
Een projectiefunctie die op elk element moet worden toegepast.
Retouren
De som van de verwachte waarden.
Uitzonderingen
source of selector is null.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) u de verwachte waarden van een reeks kunt optellen.
Note
In dit codevoorbeeld wordt een overbelasting gebruikt van de methode die verschilt van de specifieke overbelasting die in dit artikel wordt beschreven. Als u het voorbeeld wilt uitbreiden naar de overbelasting die in dit artikel wordt beschreven, wijzigt u de hoofdtekst van de selector functie.
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
Opmerkingen
Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.
De Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het aanroept selector op elk element van source en de som van de resulterende waarden retourneert.
Van toepassing op
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)
Berekent de som van de reeks Single waarden die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static float Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, float> ^> ^ selector);
public static float Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,float>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, single>> -> single
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Single))) As Single
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een reeks waarden van het type TSource.
- selector
- Expression<Func<TSource,Single>>
Een projectiefunctie die op elk element moet worden toegepast.
Retouren
De som van de verwachte waarden.
Uitzonderingen
source of selector is null.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) u de verwachte waarden van een reeks kunt optellen.
Note
In dit codevoorbeeld wordt een overbelasting gebruikt van de methode die verschilt van de specifieke overbelasting die in dit artikel wordt beschreven. Als u het voorbeeld wilt uitbreiden naar de overbelasting die in dit artikel wordt beschreven, wijzigt u de hoofdtekst van de selector functie.
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
Opmerkingen
Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.
De Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het aanroept selector op elk element van source en de som van de resulterende waarden retourneert.
Van toepassing op
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)
Berekent de som van de reeks Int64 waarden die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static long Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, long> ^> ^ selector);
public static long Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,long>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int64>> -> int64
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Long))) As Long
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een reeks waarden van het type TSource.
- selector
- Expression<Func<TSource,Int64>>
Een projectiefunctie die op elk element moet worden toegepast.
Retouren
De som van de verwachte waarden.
Uitzonderingen
source of selector is null.
De som is groter dan Int64.MaxValue.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) u de verwachte waarden van een reeks kunt optellen.
Note
In dit codevoorbeeld wordt een overbelasting gebruikt van de methode die verschilt van de specifieke overbelasting die in dit artikel wordt beschreven. Als u het voorbeeld wilt uitbreiden naar de overbelasting die in dit artikel wordt beschreven, wijzigt u de hoofdtekst van de selector functie.
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
Opmerkingen
Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.
De Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het aanroept selector op elk element van source en de som van de resulterende waarden retourneert.
Van toepassing op
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)
Berekent de som van de reeks Int32 waarden die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static int Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, int> ^> ^ selector);
public static int Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int>> -> int
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Integer))) As Integer
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een reeks waarden van het type TSource.
- selector
- Expression<Func<TSource,Int32>>
Een projectiefunctie die op elk element moet worden toegepast.
Retouren
De som van de verwachte waarden.
Uitzonderingen
source of selector is null.
De som is groter dan Int32.MaxValue.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) u de verwachte waarden van een reeks kunt optellen.
Note
In dit codevoorbeeld wordt een overbelasting gebruikt van de methode die verschilt van de specifieke overbelasting die in dit artikel wordt beschreven. Als u het voorbeeld wilt uitbreiden naar de overbelasting die in dit artikel wordt beschreven, wijzigt u de hoofdtekst van de selector functie.
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
Opmerkingen
Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.
De Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het aanroept selector op elk element van source en de som van de resulterende waarden retourneert.
Van toepassing op
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)
Berekent de som van de reeks Double waarden die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static double Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, double> ^> ^ selector);
public static double Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,double>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, double>> -> double
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Double))) As Double
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een reeks waarden van het type TSource.
- selector
- Expression<Func<TSource,Double>>
Een projectiefunctie die op elk element moet worden toegepast.
Retouren
De som van de verwachte waarden.
Uitzonderingen
source of selector is null.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) u de verwachte waarden van een reeks kunt optellen.
Note
In dit codevoorbeeld wordt een overbelasting gebruikt van de methode die verschilt van de specifieke overbelasting die in dit artikel wordt beschreven. Als u het voorbeeld wilt uitbreiden naar de overbelasting die in dit artikel wordt beschreven, wijzigt u de hoofdtekst van de selector functie.
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
Opmerkingen
Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.
De Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het aanroept selector op elk element van source en de som van de resulterende waarden retourneert.
Van toepassing op
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)
Berekent de som van de reeks Decimal waarden die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Decimal Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, System::Decimal> ^> ^ selector);
public static decimal Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,decimal>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, decimal>> -> decimal
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Decimal))) As Decimal
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een reeks waarden van het type TSource.
- selector
- Expression<Func<TSource,Decimal>>
Een projectiefunctie die op elk element moet worden toegepast.
Retouren
De som van de verwachte waarden.
Uitzonderingen
source of selector is null.
De som is groter dan Decimal.MaxValue.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) u de verwachte waarden van een reeks kunt optellen.
Note
In dit codevoorbeeld wordt een overbelasting gebruikt van de methode die verschilt van de specifieke overbelasting die in dit artikel wordt beschreven. Als u het voorbeeld wilt uitbreiden naar de overbelasting die in dit artikel wordt beschreven, wijzigt u de hoofdtekst van de selector functie.
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
Opmerkingen
Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.
De Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het aanroept selector op elk element van source en de som van de resulterende waarden retourneert.
Van toepassing op
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)
Berekent de som van de reeks null-waarden Decimal die worden verkregen door een projectiefunctie aan te roepen op elk element van de invoerreeks.
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)
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een reeks waarden van het type TSource.
- selector
- Expression<Func<TSource,Nullable<Decimal>>>
Een projectiefunctie die op elk element moet worden toegepast.
Retouren
De som van de verwachte waarden.
Uitzonderingen
source of selector is null.
De som is groter dan Decimal.MaxValue.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) u de verwachte waarden van een reeks kunt optellen.
Note
In dit codevoorbeeld wordt een overbelasting gebruikt van de methode die verschilt van de specifieke overbelasting die in dit artikel wordt beschreven. Als u het voorbeeld wilt uitbreiden naar de overbelasting die in dit artikel wordt beschreven, wijzigt u de hoofdtekst van de selector functie.
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
Opmerkingen
Deze methode heeft ten minste één parameter van het type Expression<TDelegate> waarvan het typeargument een van de Func<T,TResult> typen is. Voor deze parameters kunt u een lambda-expressie doorgeven en deze wordt gecompileerd naar een Expression<TDelegate>.
De Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) methode genereert een MethodCallExpression die zichzelf aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het aanroept selector op elk element van source en de som van de resulterende waarden retourneert.