Enumerable.Sum Metode

Definisi

Menghitung jumlah urutan nilai numerik.

Overload

Sum(IEnumerable<Single>)

Menghitung jumlah urutan Single nilai.

Sum(IEnumerable<Nullable<Int32>>)

Menghitung jumlah urutan nilai yang dapat diubah Int32 ke null.

Sum(IEnumerable<Nullable<Single>>)

Menghitung jumlah urutan nilai yang dapat diubah Single ke null.

Sum(IEnumerable<Nullable<Int64>>)

Menghitung jumlah urutan nilai yang dapat diubah Int64 ke null.

Sum(IEnumerable<Nullable<Double>>)

Menghitung jumlah urutan nilai yang dapat diubah Double ke null.

Sum(IEnumerable<Int32>)

Menghitung jumlah urutan Int32 nilai.

Sum(IEnumerable<Int64>)

Menghitung jumlah urutan Int64 nilai.

Sum(IEnumerable<Double>)

Menghitung jumlah urutan Double nilai.

Sum(IEnumerable<Decimal>)

Menghitung jumlah urutan Decimal nilai.

Sum(IEnumerable<Nullable<Decimal>>)

Menghitung jumlah urutan nilai yang dapat diubah Decimal ke null.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Menghitung jumlah urutan Single nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Menghitung jumlah urutan nilai nullable Int64 yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Menghitung jumlah urutan nilai nullable Int32 yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Menghitung jumlah urutan nilai nullable Double yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Menghitung jumlah urutan nilai nullable Single yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Menghitung jumlah urutan Int64 nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Menghitung jumlah urutan Int32 nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Menghitung jumlah urutan Double nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Menghitung jumlah urutan Decimal nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Menghitung jumlah urutan nilai nullable Decimal yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

Sum(IEnumerable<Single>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan Single nilai.

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

Parameter

source
IEnumerable<Single>

Urutan Single nilai untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Sum(IEnumerable<Single>) untuk menjumlahkan nilai urutan.

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

Keterangan

Metode ini mengembalikan nol jika source tidak berisi elemen.

Dalam sintaks ekspresi kueri Visual Basic, klausa diterjemahkan Aggregate Into Sum() ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum(IEnumerable<Nullable<Int32>>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan nilai yang dapat diubah Int32 ke 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)

Parameter

source
IEnumerable<Nullable<Int32>>

Urutan nilai nullable Int32 untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Jumlahnya lebih besar dari Int32.MaxValue.

Keterangan

Item dalam yang null dikecualikan source dari komputasi jumlah. Metode ini mengembalikan nol jika source tidak berisi elemen atau semua elemen adalah null.

Dalam sintaks ekspresi kueri Visual Basic, klausa diterjemahkan Aggregate Into Sum() ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum(IEnumerable<Nullable<Single>>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan nilai yang dapat diubah Single ke 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)

Parameter

source
IEnumerable<Nullable<Single>>

Urutan nilai nullable Single untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Sum(IEnumerable<Nullable<Single>>) untuk menjumlahkan nilai urutan.

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

Keterangan

Item dalam yang null dikecualikan source dari komputasi jumlah. Metode ini mengembalikan nol jika source tidak berisi elemen atau semua elemen adalah null.

Dalam sintaks ekspresi kueri Visual Basic, klausa diterjemahkan Aggregate Into Sum() ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum(IEnumerable<Nullable<Int64>>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan nilai yang dapat diubah Int64 ke 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)

Parameter

source
IEnumerable<Nullable<Int64>>

Urutan nilai nullable Int64 untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Jumlahnya lebih besar dari Int64.MaxValue.

Keterangan

Item dalam yang null dikecualikan source dari komputasi jumlah. Metode ini mengembalikan nol jika source tidak berisi elemen atau semua elemen adalah null.

Dalam sintaks ekspresi kueri Visual Basic, klausa diterjemahkan Aggregate Into Sum() ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum(IEnumerable<Nullable<Double>>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan nilai yang dapat diubah Double ke 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)

Parameter

source
IEnumerable<Nullable<Double>>

Urutan nilai nullable Double untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Jumlahnya lebih besar dari Double.MaxValue.

Keterangan

Item dalam yang null dikecualikan source dari komputasi jumlah. Metode ini mengembalikan nol jika source tidak berisi elemen atau semua elemen adalah null.

Dalam sintaks ekspresi kueri Visual Basic, klausa diterjemahkan Aggregate Into Sum() ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum(IEnumerable<Int32>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan Int32 nilai.

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

Parameter

source
IEnumerable<Int32>

Urutan Int32 nilai untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Jumlahnya lebih besar dari Int32.MaxValue.

Keterangan

Metode ini mengembalikan nol jika source tidak berisi elemen.

Dalam sintaks ekspresi kueri Visual Basic, klausa diterjemahkan Aggregate Into Sum() ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum(IEnumerable<Int64>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan Int64 nilai.

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

Parameter

source
IEnumerable<Int64>

Urutan Int64 nilai untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Jumlahnya lebih besar dari Int64.MaxValue.

Keterangan

Metode ini mengembalikan nol jika source tidak berisi elemen.

Dalam sintaks ekspresi kueri Visual Basic, klausa diterjemahkan Aggregate Into Sum() ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum(IEnumerable<Double>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan Double nilai.

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

Parameter

source
IEnumerable<Double>

Urutan Double nilai untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Jumlahnya lebih besar dari Double.MaxValue.

Keterangan

Metode ini mengembalikan nol jika source tidak berisi elemen.

Dalam sintaks ekspresi kueri Visual Basic, Aggregate Into Sum() klausa diterjemahkan ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum(IEnumerable<Decimal>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan Decimal nilai.

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

Parameter

source
IEnumerable<Decimal>

Urutan Decimal nilai untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Jumlahnya lebih besar dari Decimal.MaxValue.

Keterangan

Metode Sum(IEnumerable<Decimal>) mengembalikan nol jika source tidak berisi elemen.

Dalam sintaks ekspresi kueri Visual Basic, Aggregate Into Sum() klausa diterjemahkan ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum(IEnumerable<Nullable<Decimal>>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan nilai yang dapat diubah ke Decimal 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)

Parameter

source
IEnumerable<Nullable<Decimal>>

Urutan nilai yang dapat diubah Decimal ke null untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Jumlahnya lebih besar dari Decimal.MaxValue.

Keterangan

Item dalam yang null dikecualikan source dari komputasi jumlah. Metode ini mengembalikan nol jika source tidak berisi elemen atau semua elemen adalah null.

Dalam sintaks ekspresi kueri Visual Basic, Aggregate Into Sum() klausa diterjemahkan ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan Single nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Urutan nilai yang digunakan untuk menghitung jumlah.

selector
Func<TSource,Single>

Fungsi transformasi untuk diterapkan ke setiap elemen.

Mengembalikan

Jumlah nilai yang diproyeksikan.

Pengecualian

source atau selector adalah null.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) untuk menjumlahkan nilai urutan yang diproyeksikan.

Catatan

Contoh kode ini menggunakan kelebihan beban metode yang berbeda dari kelebihan beban tertentu yang dijelaskan artikel ini. Untuk memperluas contoh ke kelebihan beban yang dijelaskan artikel ini, ubah isi selector fungsi.

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

Keterangan

Metode Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>) mengembalikan nol jika source tidak berisi elemen.

Anda dapat menerapkan metode ini ke urutan nilai arbitrer jika Anda menyediakan fungsi, selector, yang memproyeksikan anggota source ke dalam jenis numerik, khususnya Single.

Dalam sintaks ekspresi kueri Visual Basic, Aggregate Into Sum() klausa diterjemahkan ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan nilai nullable Int64 yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Urutan nilai yang digunakan untuk menghitung jumlah.

selector
Func<TSource,Nullable<Int64>>

Fungsi transformasi untuk diterapkan ke setiap elemen.

Mengembalikan

Jumlah nilai yang diproyeksikan.

Pengecualian

source atau selector adalah null.

Jumlahnya lebih besar dari Int64.MaxValue.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) untuk menjumlahkan nilai urutan yang diproyeksikan.

Catatan

Contoh kode ini menggunakan kelebihan beban metode yang berbeda dari kelebihan beban tertentu yang dijelaskan artikel ini. Untuk memperluas contoh ke kelebihan beban yang dijelaskan artikel ini, ubah isi selector fungsi.

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

Keterangan

Item dalam yang null dikecualikan source dari komputasi jumlah. Metode ini mengembalikan nol jika source tidak berisi elemen atau semua elemen adalah null.

Anda dapat menerapkan metode ini ke urutan nilai arbitrer jika Anda menyediakan fungsi, selector, yang memproyeksikan anggota source ke dalam jenis numerik, khususnya Nullable<Int64> di C# atau Nullable(Of Int64) di Visual Basic

Dalam sintaks ekspresi kueri Visual Basic, Aggregate Into Sum() klausa diterjemahkan ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan nilai nullable Int32 yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Urutan nilai yang digunakan untuk menghitung jumlah.

selector
Func<TSource,Nullable<Int32>>

Fungsi transformasi untuk diterapkan ke setiap elemen.

Mengembalikan

Jumlah nilai yang diproyeksikan.

Pengecualian

source atau selector adalah null.

Jumlahnya lebih besar dari Int32.MaxValue.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) untuk menjumlahkan nilai urutan yang diproyeksikan.

Catatan

Contoh kode ini menggunakan kelebihan beban metode yang berbeda dari kelebihan beban tertentu yang dijelaskan artikel ini. Untuk memperluas contoh ke kelebihan beban yang dijelaskan artikel ini, ubah isi selector fungsi.

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

Keterangan

Item dalam yang null dikecualikan source dari komputasi jumlah. Metode ini mengembalikan nol jika source tidak berisi elemen atau semua elemen adalah null.

Anda dapat menerapkan metode ini ke urutan nilai arbitrer jika Anda menyediakan fungsi, selector, yang memproyeksikan anggota source ke dalam jenis numerik, khususnya Nullable<Int32> di C# atau Nullable(Of Int32) di Visual Basic.

Dalam sintaks ekspresi kueri Visual Basic, Aggregate Into Sum() klausa diterjemahkan ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan nilai nullable Double yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Urutan nilai yang digunakan untuk menghitung jumlah.

selector
Func<TSource,Nullable<Double>>

Fungsi transformasi untuk diterapkan ke setiap elemen.

Mengembalikan

Jumlah nilai yang diproyeksikan.

Pengecualian

source atau selector adalah null.

Jumlahnya lebih besar dari Double.MaxValue.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) untuk menjumlahkan nilai urutan yang diproyeksikan.

Catatan

Contoh kode ini menggunakan kelebihan beban metode yang berbeda dari kelebihan beban tertentu yang dijelaskan artikel ini. Untuk memperluas contoh ke kelebihan beban yang dijelaskan artikel ini, ubah isi selector fungsi.

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

Keterangan

Item dalam yang null dikecualikan source dari komputasi jumlah. Metode ini mengembalikan nol jika source tidak berisi elemen atau semua elemen adalah null.

Anda dapat menerapkan metode ini ke urutan nilai arbitrer jika Anda menyediakan fungsi, selector, yang memproyeksikan anggota source ke dalam jenis numerik, khususnya Nullable<Double> di C# atau Nullable(Of Double) di Visual Basic.

Dalam sintaks ekspresi kueri Visual Basic, Aggregate Into Sum() klausa diterjemahkan ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan nilai nullable Single yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Urutan nilai yang digunakan untuk menghitung jumlah.

selector
Func<TSource,Nullable<Single>>

Fungsi transformasi untuk diterapkan ke setiap elemen.

Mengembalikan

Jumlah nilai yang diproyeksikan.

Pengecualian

source atau selector adalah null.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) untuk menjumlahkan nilai urutan yang diproyeksikan.

Catatan

Contoh kode ini menggunakan kelebihan beban metode yang berbeda dari kelebihan beban tertentu yang dijelaskan artikel ini. Untuk memperluas contoh ke kelebihan beban yang dijelaskan artikel ini, ubah isi selector fungsi.

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

Keterangan

Item dalam yang null dikecualikan source dari komputasi jumlah. Metode ini mengembalikan nol jika source tidak berisi elemen atau semua elemen adalah null.

Anda dapat menerapkan metode ini ke urutan nilai arbitrer jika Anda menyediakan fungsi, selector, yang memproyeksikan anggota source ke dalam jenis numerik, khususnya Nullable<Single> di C# atau Nullable(Of Single) di Visual Basic.

Dalam sintaks ekspresi kueri Visual Basic, klausa diterjemahkan Aggregate Into Sum() ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan Int64 nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Urutan nilai yang digunakan untuk menghitung jumlah.

selector
Func<TSource,Int64>

Fungsi transformasi untuk diterapkan ke setiap elemen.

Mengembalikan

Jumlah nilai yang diproyeksikan.

Pengecualian

source atau selector adalah null.

Jumlahnya lebih besar dari Int64.MaxValue.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) untuk menjumlahkan nilai yang diproyeksikan dari urutan.

Catatan

Contoh kode ini menggunakan kelebihan beban metode yang berbeda dari kelebihan beban tertentu yang dijelaskan artikel ini. Untuk memperluas contoh ke kelebihan beban yang dijelaskan artikel ini, ubah isi selector fungsi.

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

Keterangan

Metode ini mengembalikan nol jika source tidak berisi elemen.

Anda dapat menerapkan metode ini ke urutan nilai arbitrer jika Anda menyediakan fungsi, selector, yang memproyeksikan anggota source ke dalam jenis numerik, khususnya Int64.

Dalam sintaks ekspresi kueri Visual Basic, klausa diterjemahkan Aggregate Into Sum() ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan Int32 nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Urutan nilai yang digunakan untuk menghitung jumlah.

selector
Func<TSource,Int32>

Fungsi transformasi untuk diterapkan ke setiap elemen.

Mengembalikan

Jumlah nilai yang diproyeksikan.

Pengecualian

source atau selector adalah null.

Jumlahnya lebih besar dari Int32.MaxValue.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) untuk menjumlahkan nilai yang diproyeksikan dari urutan.

Catatan

Contoh kode ini menggunakan kelebihan beban metode yang berbeda dari kelebihan beban tertentu yang dijelaskan artikel ini. Untuk memperluas contoh ke kelebihan beban yang dijelaskan artikel ini, ubah isi selector fungsi.

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

Keterangan

Metode ini mengembalikan nol jika source tidak berisi elemen.

Anda dapat menerapkan metode ini ke urutan nilai arbitrer jika Anda menyediakan fungsi, selector, yang memproyeksikan anggota source ke dalam jenis numerik, khususnya Int32.

Dalam sintaks ekspresi kueri Visual Basic, klausa diterjemahkan Aggregate Into Sum() ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan Double nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Urutan nilai yang digunakan untuk menghitung jumlah.

selector
Func<TSource,Double>

Fungsi transformasi untuk diterapkan ke setiap elemen.

Mengembalikan

Jumlah nilai yang diproyeksikan.

Pengecualian

source atau selector adalah null.

Jumlahnya lebih besar dari Double.MaxValue.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) untuk menjumlahkan nilai yang diproyeksikan dari urutan.

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

Keterangan

Metode ini mengembalikan nol jika source tidak berisi elemen.

Anda dapat menerapkan metode ini ke urutan nilai arbitrer jika Anda menyediakan fungsi, selector, yang memproyeksikan anggota source ke dalam jenis numerik, khususnya Double.

Dalam sintaks ekspresi kueri Visual Basic, klausa diterjemahkan Aggregate Into Sum() ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan Decimal nilai yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Urutan nilai yang digunakan untuk menghitung jumlah.

selector
Func<TSource,Decimal>

Fungsi transformasi untuk diterapkan ke setiap elemen.

Mengembalikan

Jumlah nilai yang diproyeksikan.

Pengecualian

source atau selector adalah null.

Jumlahnya lebih besar dari Decimal.MaxValue.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) untuk menjumlahkan nilai yang diproyeksikan dari urutan.

Catatan

Contoh kode ini menggunakan kelebihan beban metode yang berbeda dari kelebihan beban tertentu yang dijelaskan artikel ini. Untuk memperluas contoh ke kelebihan beban yang dijelaskan artikel ini, ubah isi selector fungsi.

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

Keterangan

Metode ini mengembalikan nol jika source tidak berisi elemen.

Anda dapat menerapkan metode ini ke urutan nilai arbitrer jika Anda menyediakan fungsi, selector, yang memproyeksikan anggota source ke dalam jenis numerik, khususnya Decimal.

Dalam sintaks ekspresi kueri Visual Basic, klausa diterjemahkan Aggregate Into Sum() ke pemanggilan Sum.

Lihat juga

Berlaku untuk

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Sumber:
Sum.cs
Sumber:
Sum.cs
Sumber:
Sum.cs

Menghitung jumlah urutan nilai nullable Decimal yang diperoleh dengan memanggil fungsi transformasi pada setiap elemen urutan input.

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)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IEnumerable<TSource>

Urutan nilai yang digunakan untuk menghitung jumlah.

selector
Func<TSource,Nullable<Decimal>>

Fungsi transformasi untuk diterapkan ke setiap elemen.

Mengembalikan

Jumlah nilai yang diproyeksikan.

Pengecualian

source atau selector adalah null.

Jumlahnya lebih besar dari Decimal.MaxValue.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) untuk menjumlahkan nilai yang diproyeksikan dari urutan.

Catatan

Contoh kode ini menggunakan kelebihan beban metode yang berbeda dari kelebihan beban tertentu yang dijelaskan artikel ini. Untuk memperluas contoh ke kelebihan beban yang dijelaskan artikel ini, ubah isi selector fungsi.

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

Keterangan

Item dalam yang null dikecualikan source dari komputasi jumlah. Metode ini mengembalikan nol jika source tidak berisi elemen atau semua elemen adalah null.

Anda dapat menerapkan metode ini ke urutan nilai arbitrer jika Anda menyediakan fungsi, selector, yang memproyeksikan anggota source ke dalam jenis numerik, khususnya Nullable<Decimal> di C# atau Nullable(Of Decimal) di Visual Basic.

Dalam sintaks ekspresi kueri Visual Basic, klausa diterjemahkan Aggregate Into Sum() ke pemanggilan Sum.

Lihat juga

Berlaku untuk