Enumerable.Sum Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Oblicza sumę sekwencji wartości liczbowych.
Przeciążenia
| Nazwa | Opis |
|---|---|
| Sum(IEnumerable<Single>) |
Oblicza sumę sekwencji wartości Single. |
| Sum(IEnumerable<Nullable<Single>>) |
Oblicza sumę sekwencji wartości Single dopuszczanych do wartości null. |
| Sum(IEnumerable<Nullable<Int32>>) |
Oblicza sumę sekwencji wartości Int32 dopuszczanych do wartości null. |
| Sum(IEnumerable<Nullable<Double>>) |
Oblicza sumę sekwencji wartości Double dopuszczanych do wartości null. |
| Sum(IEnumerable<Nullable<Int64>>) |
Oblicza sumę sekwencji wartości Int64 dopuszczanych do wartości null. |
| Sum(IEnumerable<Int64>) |
Oblicza sumę sekwencji wartości Int64. |
| Sum(IEnumerable<Int32>) |
Oblicza sumę sekwencji wartości Int32. |
| Sum(IEnumerable<Double>) |
Oblicza sumę sekwencji wartości Double. |
| Sum(IEnumerable<Decimal>) |
Oblicza sumę sekwencji wartości Decimal. |
| Sum(IEnumerable<Nullable<Decimal>>) |
Oblicza sumę sekwencji wartości Decimal dopuszczanych do wartości null. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>) |
Oblicza sumę sekwencji Single wartości uzyskanych przez wywołanie funkcji transform w każdym elemecie sekwencji danych wejściowych. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Oblicza sumę sekwencji wartości dopuszczających wartość null Single, które są uzyskiwane przez wywołanie funkcji transform w poszczególnych elementach sekwencji danych wejściowych. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Oblicza sumę sekwencji wartości dopuszczających wartość null Int64, które są uzyskiwane przez wywołanie funkcji transform w poszczególnych elementach sekwencji danych wejściowych. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Oblicza sumę sekwencji wartości dopuszczających wartość null Int32, które są uzyskiwane przez wywołanie funkcji transform w poszczególnych elementach sekwencji danych wejściowych. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Oblicza sumę sekwencji wartości dopuszczających wartość null Double, które są uzyskiwane przez wywołanie funkcji transform w poszczególnych elementach sekwencji danych wejściowych. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) |
Oblicza sumę sekwencji Int64 wartości uzyskanych przez wywołanie funkcji transform w każdym elemecie sekwencji danych wejściowych. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) |
Oblicza sumę sekwencji Int32 wartości uzyskanych przez wywołanie funkcji transform w każdym elemecie sekwencji danych wejściowych. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) |
Oblicza sumę sekwencji Double wartości uzyskanych przez wywołanie funkcji transform w każdym elemecie sekwencji danych wejściowych. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) |
Oblicza sumę sekwencji Decimal wartości uzyskanych przez wywołanie funkcji transform w każdym elemecie sekwencji danych wejściowych. |
| Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) |
Oblicza sumę sekwencji wartości dopuszczających wartość null Decimal, które są uzyskiwane przez wywołanie funkcji transform w poszczególnych elementach sekwencji danych wejściowych. |
Sum(IEnumerable<Single>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości Single.
public:
[System::Runtime::CompilerServices::Extension]
static float Sum(System::Collections::Generic::IEnumerable<float> ^ source);
public static float Sum(this System.Collections.Generic.IEnumerable<float> source);
static member Sum : seq<single> -> single
<Extension()>
Public Function Sum (source As IEnumerable(Of Single)) As Single
Parametry
- source
- IEnumerable<Single>
Sekwencja Single wartości do obliczenia sumy.
Zwraca
Suma wartości w sekwencji.
Wyjątki
Parametr source ma wartość null.
Przykłady
W poniższym przykładzie kodu pokazano, jak za pomocą Sum(IEnumerable<Single>) metody sumować wartości sekwencji.
List<float> numbers = new List<float> { 43.68F, 1.25F, 583.7F, 6.5F };
float sum = numbers.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.
*/
' Create a list of Single values.
Dim numbers As New List(Of Single)(New Single() _
{43.68F, 1.25F, 583.7F, 6.5F})
' Get the sum of values in the list.
Dim sum As Single = numbers.Sum()
' Display the output.
Console.WriteLine($"The sum of the numbers is {sum}")
' This code produces the following output:
'
' The sum of the numbers is 635.13
Uwagi
Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum(IEnumerable<Nullable<Single>>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości Single dopuszczanych do wartości null.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<float> Sum(System::Collections::Generic::IEnumerable<Nullable<float>> ^ source);
public static float? Sum(this System.Collections.Generic.IEnumerable<float?> source);
static member Sum : seq<Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Sum (source As IEnumerable(Of Nullable(Of Single))) As Nullable(Of Single)
Parametry
- source
- IEnumerable<Nullable<Single>>
Sekwencja wartości dopuszczanych Single do wartości null do obliczenia sumy.
Zwraca
Suma wartości w sekwencji.
Wyjątki
Parametr source ma wartość null.
Przykłady
W poniższym przykładzie kodu pokazano, jak za pomocą Sum(IEnumerable<Nullable<Single>>) metody sumować wartości sekwencji.
float?[] points = { null, 0, 92.83F, null, 100.0F, 37.46F, 81.1F };
float? sum = points.Sum();
Console.WriteLine("Total points earned: {0}", sum);
/*
This code produces the following output:
Total points earned: 311.39
*/
' Create an array of Nullable Single values.
Dim points() As Nullable(Of Single) =
{Nothing, 0, 92.83F, Nothing, 100.0F, 37.46F, 81.1F}
' Get the sum of values in the list.
Dim sum As Nullable(Of Single) = points.Sum()
' Display the output.
Console.WriteLine($"Total points earned: {sum}")
' This code produces the following output:
'
' Total points earned: 311.39
Uwagi
Elementy, w source których są null wykluczone z obliczeń sumy. Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów lub wszystkie elementy to null.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum(IEnumerable<Nullable<Int32>>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości Int32 dopuszczanych do wartości null.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<int> Sum(System::Collections::Generic::IEnumerable<Nullable<int>> ^ source);
public static int? Sum(this System.Collections.Generic.IEnumerable<int?> source);
static member Sum : seq<Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Sum (source As IEnumerable(Of Nullable(Of Integer))) As Nullable(Of Integer)
Parametry
- source
- IEnumerable<Nullable<Int32>>
Sekwencja wartości dopuszczanych Int32 do wartości null do obliczenia sumy.
Zwraca
Suma wartości w sekwencji.
Wyjątki
Parametr source ma wartość null.
Suma jest większa niż Int32.MaxValue.
Uwagi
Elementy, w source których są null wykluczone z obliczeń sumy. Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów lub wszystkie elementy to null.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum(IEnumerable<Nullable<Double>>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości Double dopuszczanych do wartości null.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<double> Sum(System::Collections::Generic::IEnumerable<Nullable<double>> ^ source);
public static double? Sum(this System.Collections.Generic.IEnumerable<double?> source);
static member Sum : seq<Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Sum (source As IEnumerable(Of Nullable(Of Double))) As Nullable(Of Double)
Parametry
- source
- IEnumerable<Nullable<Double>>
Sekwencja wartości dopuszczanych Double do wartości null do obliczenia sumy.
Zwraca
Suma wartości w sekwencji.
Wyjątki
Parametr source ma wartość null.
Suma jest większa niż Double.MaxValue.
Uwagi
Elementy, w source których są null wykluczone z obliczeń sumy. Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów lub wszystkie elementy to null.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum(IEnumerable<Nullable<Int64>>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości Int64 dopuszczanych do wartości null.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<long> Sum(System::Collections::Generic::IEnumerable<Nullable<long>> ^ source);
public static long? Sum(this System.Collections.Generic.IEnumerable<long?> source);
static member Sum : seq<Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Sum (source As IEnumerable(Of Nullable(Of Long))) As Nullable(Of Long)
Parametry
- source
- IEnumerable<Nullable<Int64>>
Sekwencja wartości dopuszczanych Int64 do wartości null do obliczenia sumy.
Zwraca
Suma wartości w sekwencji.
Wyjątki
Parametr source ma wartość null.
Suma jest większa niż Int64.MaxValue.
Uwagi
Elementy, w source których są null wykluczone z obliczeń sumy. Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów lub wszystkie elementy to null.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum(IEnumerable<Int64>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości Int64.
public:
[System::Runtime::CompilerServices::Extension]
static long Sum(System::Collections::Generic::IEnumerable<long> ^ source);
public static long Sum(this System.Collections.Generic.IEnumerable<long> source);
static member Sum : seq<int64> -> int64
<Extension()>
Public Function Sum (source As IEnumerable(Of Long)) As Long
Parametry
- source
- IEnumerable<Int64>
Sekwencja Int64 wartości do obliczenia sumy.
Zwraca
Suma wartości w sekwencji.
Wyjątki
Parametr source ma wartość null.
Suma jest większa niż Int64.MaxValue.
Uwagi
Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum(IEnumerable<Int32>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości Int32.
public:
[System::Runtime::CompilerServices::Extension]
static int Sum(System::Collections::Generic::IEnumerable<int> ^ source);
public static int Sum(this System.Collections.Generic.IEnumerable<int> source);
static member Sum : seq<int> -> int
<Extension()>
Public Function Sum (source As IEnumerable(Of Integer)) As Integer
Parametry
- source
- IEnumerable<Int32>
Sekwencja Int32 wartości do obliczenia sumy.
Zwraca
Suma wartości w sekwencji.
Wyjątki
Parametr source ma wartość null.
Suma jest większa niż Int32.MaxValue.
Uwagi
Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum(IEnumerable<Double>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości Double.
public:
[System::Runtime::CompilerServices::Extension]
static double Sum(System::Collections::Generic::IEnumerable<double> ^ source);
public static double Sum(this System.Collections.Generic.IEnumerable<double> source);
static member Sum : seq<double> -> double
<Extension()>
Public Function Sum (source As IEnumerable(Of Double)) As Double
Parametry
- source
- IEnumerable<Double>
Sekwencja Double wartości do obliczenia sumy.
Zwraca
Suma wartości w sekwencji.
Wyjątki
Parametr source ma wartość null.
Suma jest większa niż Double.MaxValue.
Uwagi
Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum(IEnumerable<Decimal>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości Decimal.
public:
[System::Runtime::CompilerServices::Extension]
static System::Decimal Sum(System::Collections::Generic::IEnumerable<System::Decimal> ^ source);
public static decimal Sum(this System.Collections.Generic.IEnumerable<decimal> source);
static member Sum : seq<decimal> -> decimal
<Extension()>
Public Function Sum (source As IEnumerable(Of Decimal)) As Decimal
Parametry
- source
- IEnumerable<Decimal>
Sekwencja Decimal wartości do obliczenia sumy.
Zwraca
Suma wartości w sekwencji.
Wyjątki
Parametr source ma wartość null.
Suma jest większa niż Decimal.MaxValue.
Uwagi
Metoda Sum(IEnumerable<Decimal>) zwraca zero, jeśli source nie zawiera żadnych elementów.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum(IEnumerable<Nullable<Decimal>>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości Decimal dopuszczanych do wartości null.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<System::Decimal> Sum(System::Collections::Generic::IEnumerable<Nullable<System::Decimal>> ^ source);
public static decimal? Sum(this System.Collections.Generic.IEnumerable<decimal?> source);
static member Sum : seq<Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Sum (source As IEnumerable(Of Nullable(Of Decimal))) As Nullable(Of Decimal)
Parametry
- source
- IEnumerable<Nullable<Decimal>>
Sekwencja wartości dopuszczanych Decimal do wartości null do obliczenia sumy.
Zwraca
Suma wartości w sekwencji.
Wyjątki
Parametr source ma wartość null.
Suma jest większa niż Decimal.MaxValue.
Uwagi
Elementy, w source których są null wykluczone z obliczeń sumy. Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów lub wszystkie elementy to null.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji Single wartości uzyskanych przez wywołanie funkcji transform w każdym elemecie sekwencji danych wejściowych.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static float Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, float> ^ selector);
public static float Sum<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float> selector);
static member Sum : seq<'Source> * Func<'Source, single> -> single
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Single)) As Single
Parametry typu
- TSource
Typ elementów elementu source.
Parametry
- source
- IEnumerable<TSource>
Sekwencja wartości używanych do obliczania sumy.
Zwraca
Suma przewidywanych wartości.
Wyjątki
source lub selector ma wartość null.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) metody do sumowania przewidywanych wartości sekwencji.
Note
W tym przykładzie kodu użyto przeciążenia metody, która różni się od określonego przeciążenia opisanego w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx1()
{
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 } };
double totalWeight = packages.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
Sub SumEx1()
' Create a list of Package values.
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}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"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
Uwagi
Metoda Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>) zwraca zero, jeśli source nie zawiera żadnych elementów.
Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source do typu liczbowego, w szczególności Single.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości dopuszczających wartość null Single, które są uzyskiwane przez wywołanie funkcji transform w poszczególnych elementach sekwencji danych wejściowych.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<float> Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<float>> ^ selector);
public static float? Sum<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float?> selector);
static member Sum : seq<'Source> * Func<'Source, Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Single))) As Nullable(Of Single)
Parametry typu
- TSource
Typ elementów elementu source.
Parametry
- source
- IEnumerable<TSource>
Sekwencja wartości używanych do obliczania sumy.
Funkcja transform, która ma być stosowana do każdego elementu.
Zwraca
Suma przewidywanych wartości.
Wyjątki
source lub selector ma wartość null.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) metody do sumowania przewidywanych wartości sekwencji.
Note
W tym przykładzie kodu użyto przeciążenia metody, która różni się od określonego przeciążenia opisanego w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx1()
{
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 } };
double totalWeight = packages.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
Sub SumEx1()
' Create a list of Package values.
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}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"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
Uwagi
Elementy, w source których są null wykluczone z obliczeń sumy. Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów lub wszystkie elementy to null.
Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję selector, która projektuje elementy członkowskie source do typu liczbowego, w szczególności Nullable<Single> w języku C# lub Nullable(Of Single) w Visual Basic.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości dopuszczających wartość null Int64, które są uzyskiwane przez wywołanie funkcji transform w poszczególnych elementach sekwencji danych wejściowych.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<long> Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<long>> ^ selector);
public static long? Sum<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long?> selector);
static member Sum : seq<'Source> * Func<'Source, Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Long))) As Nullable(Of Long)
Parametry typu
- TSource
Typ elementów elementu source.
Parametry
- source
- IEnumerable<TSource>
Sekwencja wartości używanych do obliczania sumy.
Funkcja transform, która ma być stosowana do każdego elementu.
Zwraca
Suma przewidywanych wartości.
Wyjątki
source lub selector ma wartość null.
Suma jest większa niż Int64.MaxValue.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) metody do sumowania przewidywanych wartości sekwencji.
Note
W tym przykładzie kodu użyto przeciążenia metody, która różni się od określonego przeciążenia opisanego w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx1()
{
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 } };
double totalWeight = packages.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
Sub SumEx1()
' Create a list of Package values.
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}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"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
Uwagi
Elementy, w source których są null wykluczone z obliczeń sumy. Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów lub wszystkie elementy to null.
Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję, selector, która projektuje elementy członkowskie source do typu liczbowego, w szczególności Nullable<Int64> w języku C# lub Nullable(Of Int64) w Visual Basic
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości dopuszczających wartość null Int32, które są uzyskiwane przez wywołanie funkcji transform w poszczególnych elementach sekwencji danych wejściowych.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<int> Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<int>> ^ selector);
public static int? Sum<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int?> selector);
static member Sum : seq<'Source> * Func<'Source, Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Integer))) As Nullable(Of Integer)
Parametry typu
- TSource
Typ elementów elementu source.
Parametry
- source
- IEnumerable<TSource>
Sekwencja wartości używanych do obliczania sumy.
Funkcja transform, która ma być stosowana do każdego elementu.
Zwraca
Suma przewidywanych wartości.
Wyjątki
source lub selector ma wartość null.
Suma jest większa niż Int32.MaxValue.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) metody do sumowania przewidywanych wartości sekwencji.
Note
W tym przykładzie kodu użyto przeciążenia metody, która różni się od określonego przeciążenia opisanego w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx1()
{
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 } };
double totalWeight = packages.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
Sub SumEx1()
' Create a list of Package values.
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}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"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
Uwagi
Elementy, w source których są null wykluczone z obliczeń sumy. Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów lub wszystkie elementy to null.
Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję selector, która projektuje elementy członkowskie source do typu liczbowego, w szczególności Nullable<Int32> w języku C# lub Nullable(Of Int32) w Visual Basic.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości dopuszczających wartość null Double, które są uzyskiwane przez wywołanie funkcji transform w poszczególnych elementach sekwencji danych wejściowych.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<double> Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<double>> ^ selector);
public static double? Sum<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double?> selector);
static member Sum : seq<'Source> * Func<'Source, Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Double))) As Nullable(Of Double)
Parametry typu
- TSource
Typ elementów elementu source.
Parametry
- source
- IEnumerable<TSource>
Sekwencja wartości używanych do obliczania sumy.
Funkcja transform, która ma być stosowana do każdego elementu.
Zwraca
Suma przewidywanych wartości.
Wyjątki
source lub selector ma wartość null.
Suma jest większa niż Double.MaxValue.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) metody do sumowania przewidywanych wartości sekwencji.
Note
W tym przykładzie kodu użyto przeciążenia metody, która różni się od określonego przeciążenia opisanego w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx1()
{
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 } };
double totalWeight = packages.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
Sub SumEx1()
' Create a list of Package values.
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}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"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
Uwagi
Elementy, w source których są null wykluczone z obliczeń sumy. Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów lub wszystkie elementy to null.
Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję selector, która projektuje elementy członkowskie source do typu liczbowego, w szczególności Nullable<Double> w języku C# lub Nullable(Of Double) w Visual Basic.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji Int64 wartości uzyskanych przez wywołanie funkcji transform w każdym elemecie sekwencji danych wejściowych.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static long Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, long> ^ selector);
public static long Sum<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long> selector);
static member Sum : seq<'Source> * Func<'Source, int64> -> int64
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Long)) As Long
Parametry typu
- TSource
Typ elementów elementu source.
Parametry
- source
- IEnumerable<TSource>
Sekwencja wartości używanych do obliczania sumy.
Zwraca
Suma przewidywanych wartości.
Wyjątki
source lub selector ma wartość null.
Suma jest większa niż Int64.MaxValue.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) metody do sumowania przewidywanych wartości sekwencji.
Note
W tym przykładzie kodu użyto przeciążenia metody, która różni się od określonego przeciążenia opisanego w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx1()
{
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 } };
double totalWeight = packages.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
Sub SumEx1()
' Create a list of Package values.
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}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"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
Uwagi
Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów.
Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source do typu liczbowego, w szczególności Int64.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji Int32 wartości uzyskanych przez wywołanie funkcji transform w każdym elemecie sekwencji danych wejściowych.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static int Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, int> ^ selector);
public static int Sum<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int> selector);
static member Sum : seq<'Source> * Func<'Source, int> -> int
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Integer)) As Integer
Parametry typu
- TSource
Typ elementów elementu source.
Parametry
- source
- IEnumerable<TSource>
Sekwencja wartości używanych do obliczania sumy.
Zwraca
Suma przewidywanych wartości.
Wyjątki
source lub selector ma wartość null.
Suma jest większa niż Int32.MaxValue.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) metody do sumowania przewidywanych wartości sekwencji.
Note
W tym przykładzie kodu użyto przeciążenia metody, która różni się od określonego przeciążenia opisanego w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx1()
{
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 } };
double totalWeight = packages.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
Sub SumEx1()
' Create a list of Package values.
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}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"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
Uwagi
Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów.
Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source do typu liczbowego, w szczególności Int32.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji Double wartości uzyskanych przez wywołanie funkcji transform w każdym elemecie sekwencji danych wejściowych.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static double Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, double> ^ selector);
public static double Sum<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double> selector);
static member Sum : seq<'Source> * Func<'Source, double> -> double
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Double)) As Double
Parametry typu
- TSource
Typ elementów elementu source.
Parametry
- source
- IEnumerable<TSource>
Sekwencja wartości używanych do obliczania sumy.
Zwraca
Suma przewidywanych wartości.
Wyjątki
source lub selector ma wartość null.
Suma jest większa niż Double.MaxValue.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) metody do sumowania przewidywanych wartości sekwencji.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx1()
{
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 } };
double totalWeight = packages.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
Sub SumEx1()
' Create a list of Package values.
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}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"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
Uwagi
Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów.
Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source do typu liczbowego, w szczególności Double.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji Decimal wartości uzyskanych przez wywołanie funkcji transform w każdym elemecie sekwencji danych wejściowych.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Decimal Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, System::Decimal> ^ selector);
public static decimal Sum<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal> selector);
static member Sum : seq<'Source> * Func<'Source, decimal> -> decimal
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Decimal)) As Decimal
Parametry typu
- TSource
Typ elementów elementu source.
Parametry
- source
- IEnumerable<TSource>
Sekwencja wartości używanych do obliczania sumy.
Zwraca
Suma przewidywanych wartości.
Wyjątki
source lub selector ma wartość null.
Suma jest większa niż Decimal.MaxValue.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) metody do sumowania przewidywanych wartości sekwencji.
Note
W tym przykładzie kodu użyto przeciążenia metody, która różni się od określonego przeciążenia opisanego w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx1()
{
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 } };
double totalWeight = packages.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
Sub SumEx1()
' Create a list of Package values.
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}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"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
Uwagi
Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów.
Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source do typu liczbowego, w szczególności Decimal.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.
Zobacz też
Dotyczy
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
- Źródło:
- Sum.cs
Oblicza sumę sekwencji wartości dopuszczających wartość null Decimal, które są uzyskiwane przez wywołanie funkcji transform w poszczególnych elementach sekwencji danych wejściowych.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<System::Decimal> Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<System::Decimal>> ^ selector);
public static decimal? Sum<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal?> selector);
static member Sum : seq<'Source> * Func<'Source, Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Decimal))) As Nullable(Of Decimal)
Parametry typu
- TSource
Typ elementów elementu source.
Parametry
- source
- IEnumerable<TSource>
Sekwencja wartości używanych do obliczania sumy.
Funkcja transform, która ma być stosowana do każdego elementu.
Zwraca
Suma przewidywanych wartości.
Wyjątki
source lub selector ma wartość null.
Suma jest większa niż Decimal.MaxValue.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) metody do sumowania przewidywanych wartości sekwencji.
Note
W tym przykładzie kodu użyto przeciążenia metody, która różni się od określonego przeciążenia opisanego w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx1()
{
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 } };
double totalWeight = packages.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
Sub SumEx1()
' Create a list of Package values.
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}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"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
Uwagi
Elementy, w source których są null wykluczone z obliczeń sumy. Ta metoda zwraca zero, jeśli source nie zawiera żadnych elementów lub wszystkie elementy to null.
Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję selector, która projektuje elementy członkowskie source do typu liczbowego, w szczególności Nullable<Decimal> w języku C# lub Nullable(Of Decimal) w Visual Basic.
W składni wyrażenia zapytania Visual Basic klauzula Aggregate Into Sum() przekłada się na wywołanie Sum.