Queryable.Sum Metode

Definisi

Menghitung jumlah urutan nilai numerik.

Overload

Sum(IQueryable<Decimal>)

Menghitung jumlah urutan Decimal nilai.

Sum(IQueryable<Double>)

Menghitung jumlah urutan Double nilai.

Sum(IQueryable<Int32>)

Menghitung jumlah urutan Int32 nilai.

Sum(IQueryable<Int64>)

Menghitung jumlah urutan Int64 nilai.

Sum(IQueryable<Nullable<Decimal>>)

Menghitung jumlah urutan nilai yang dapat diubah ke Decimal null.

Sum(IQueryable<Nullable<Double>>)

Menghitung jumlah urutan nilai yang dapat diubah ke Double null.

Sum(IQueryable<Nullable<Int32>>)

Menghitung jumlah urutan nilai yang dapat diubah ke Int32 null.

Sum(IQueryable<Nullable<Int64>>)

Menghitung jumlah urutan nilai yang dapat diubah ke Int64 null.

Sum(IQueryable<Nullable<Single>>)

Menghitung jumlah urutan nilai yang dapat diubah ke Single null.

Sum(IQueryable<Single>)

Menghitung jumlah urutan Single nilai.

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)

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

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>)

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

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)

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

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)

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

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)

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

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)

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

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)

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

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)

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

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)

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

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)

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

Sum(IQueryable<Decimal>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

Menghitung jumlah urutan Decimal nilai.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Decimal Sum(System::Linq::IQueryable<System::Decimal> ^ source);
public static decimal Sum (this System.Linq.IQueryable<decimal> source);
static member Sum : System.Linq.IQueryable<decimal> -> decimal
<Extension()>
Public Function Sum (source As IQueryable(Of Decimal)) As Decimal

Parameter

source
IQueryable<Decimal>

Urutan Decimal nilai untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Jumlahnya lebih besar dari Decimal.MaxValue.

Keterangan

Metode ini Sum(IQueryable<Decimal>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum(IQueryable<Decimal>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum(IQueryable<Decimal>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah mengembalikan jumlah nilai dalam source.

Berlaku untuk

Sum(IQueryable<Double>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

Menghitung jumlah urutan Double nilai.

public:
[System::Runtime::CompilerServices::Extension]
 static double Sum(System::Linq::IQueryable<double> ^ source);
public static double Sum (this System.Linq.IQueryable<double> source);
static member Sum : System.Linq.IQueryable<double> -> double
<Extension()>
Public Function Sum (source As IQueryable(Of Double)) As Double

Parameter

source
IQueryable<Double>

Urutan Double nilai untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Keterangan

Metode ini Sum(IQueryable<Double>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum(IQueryable<Double>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum(IQueryable<Double>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah mengembalikan jumlah nilai dalam source.

Berlaku untuk

Sum(IQueryable<Int32>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

Menghitung jumlah urutan Int32 nilai.

public:
[System::Runtime::CompilerServices::Extension]
 static int Sum(System::Linq::IQueryable<int> ^ source);
public static int Sum (this System.Linq.IQueryable<int> source);
static member Sum : System.Linq.IQueryable<int> -> int
<Extension()>
Public Function Sum (source As IQueryable(Of Integer)) As Integer

Parameter

source
IQueryable<Int32>

Urutan Int32 nilai untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Jumlahnya lebih besar dari Int32.MaxValue.

Keterangan

Metode ini Sum(IQueryable<Int32>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum(IQueryable<Int32>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum(IQueryable<Int32>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah mengembalikan jumlah nilai dalam source.

Berlaku untuk

Sum(IQueryable<Int64>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

Menghitung jumlah urutan Int64 nilai.

public:
[System::Runtime::CompilerServices::Extension]
 static long Sum(System::Linq::IQueryable<long> ^ source);
public static long Sum (this System.Linq.IQueryable<long> source);
static member Sum : System.Linq.IQueryable<int64> -> int64
<Extension()>
Public Function Sum (source As IQueryable(Of Long)) As Long

Parameter

source
IQueryable<Int64>

Urutan Int64 nilai untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Jumlahnya lebih besar dari Int64.MaxValue.

Keterangan

Metode ini Sum(IQueryable<Int64>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum(IQueryable<Int64>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum(IQueryable<Int64>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah mengembalikan jumlah nilai dalam source.

Berlaku untuk

Sum(IQueryable<Nullable<Decimal>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

Menghitung jumlah urutan nilai yang dapat diubah ke Decimal null.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<System::Decimal> Sum(System::Linq::IQueryable<Nullable<System::Decimal>> ^ source);
public static decimal? Sum (this System.Linq.IQueryable<decimal?> source);
static member Sum : System.Linq.IQueryable<Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Decimal))) As Nullable(Of Decimal)

Parameter

source
IQueryable<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

Metode ini Sum(IQueryable<Nullable<Decimal>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum(IQueryable<Nullable<Decimal>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum(IQueryable<Nullable<Decimal>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah mengembalikan jumlah nilai dalam source.

Berlaku untuk

Sum(IQueryable<Nullable<Double>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

Menghitung jumlah urutan nilai yang dapat diubah ke Double null.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<double> Sum(System::Linq::IQueryable<Nullable<double>> ^ source);
public static double? Sum (this System.Linq.IQueryable<double?> source);
static member Sum : System.Linq.IQueryable<Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Double))) As Nullable(Of Double)

Parameter

source
IQueryable<Nullable<Double>>

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

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Keterangan

Metode ini Sum(IQueryable<Nullable<Double>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum(IQueryable<Nullable<Double>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum(IQueryable<Nullable<Double>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah mengembalikan jumlah nilai dalam source.

Berlaku untuk

Sum(IQueryable<Nullable<Int32>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

Menghitung jumlah urutan nilai yang dapat diubah ke Int32 null.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<int> Sum(System::Linq::IQueryable<Nullable<int>> ^ source);
public static int? Sum (this System.Linq.IQueryable<int?> source);
static member Sum : System.Linq.IQueryable<Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Integer))) As Nullable(Of Integer)

Parameter

source
IQueryable<Nullable<Int32>>

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

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Jumlahnya lebih besar dari Int32.MaxValue.

Keterangan

Metode ini Sum(IQueryable<Nullable<Int32>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum(IQueryable<Nullable<Int32>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum(IQueryable<Nullable<Int32>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah mengembalikan jumlah nilai dalam source.

Berlaku untuk

Sum(IQueryable<Nullable<Int64>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

Menghitung jumlah urutan nilai yang dapat diubah ke Int64 null.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<long> Sum(System::Linq::IQueryable<Nullable<long>> ^ source);
public static long? Sum (this System.Linq.IQueryable<long?> source);
static member Sum : System.Linq.IQueryable<Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Long))) As Nullable(Of Long)

Parameter

source
IQueryable<Nullable<Int64>>

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

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Jumlahnya lebih besar dari Int64.MaxValue.

Keterangan

Metode ini Sum(IQueryable<Nullable<Int64>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum(IQueryable<Nullable<Int64>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum(IQueryable<Nullable<Int64>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah mengembalikan jumlah nilai dalam source.

Berlaku untuk

Sum(IQueryable<Nullable<Single>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

Menghitung jumlah urutan nilai yang dapat diubah ke Single null.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<float> Sum(System::Linq::IQueryable<Nullable<float>> ^ source);
public static float? Sum (this System.Linq.IQueryable<float?> source);
static member Sum : System.Linq.IQueryable<Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Single))) As Nullable(Of Single)

Parameter

source
IQueryable<Nullable<Single>>

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

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Contoh

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

float?[] points = { null, 0, 92.83F, null, 100.0F, 37.46F, 81.1F };

float? sum = points.AsQueryable().Sum();

Console.WriteLine("Total points earned: {0}", sum);

/*
    This code produces the following output:

    Total points earned: 311.39
*/
Dim points As Nullable(Of Single)() = {Nothing, 0, 92.83F, Nothing, 100.0F, 37.46F, 81.1F}

Dim sum As Nullable(Of Single) = points.AsQueryable().Sum()

MsgBox("Total points earned: " & sum)

'This code produces the following output:

'Total points earned: 311.39

Keterangan

Metode ini Sum(IQueryable<Nullable<Single>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum(IQueryable<Nullable<Single>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum(IQueryable<Nullable<Single>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah mengembalikan jumlah nilai dalam source.

Berlaku untuk

Sum(IQueryable<Single>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

Menghitung jumlah urutan Single nilai.

public:
[System::Runtime::CompilerServices::Extension]
 static float Sum(System::Linq::IQueryable<float> ^ source);
public static float Sum (this System.Linq.IQueryable<float> source);
static member Sum : System.Linq.IQueryable<single> -> single
<Extension()>
Public Function Sum (source As IQueryable(Of Single)) As Single

Parameter

source
IQueryable<Single>

Urutan Single nilai untuk menghitung jumlah.

Mengembalikan

Jumlah nilai dalam urutan.

Pengecualian

sourceadalah null.

Contoh

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

List<float> numbers = new List<float> { 43.68F, 1.25F, 583.7F, 6.5F };

float sum = numbers.AsQueryable().Sum();

Console.WriteLine("The sum of the numbers is {0}.", sum);

/*
    This code produces the following output:

    The sum of the numbers is 635.13.
*/
Dim numbers As New List(Of Single)(New Single() {43.68F, 1.25F, 583.7F, 6.5F})

Dim sum As Single = numbers.AsQueryable().Sum()

MsgBox("The sum of the numbers is " & sum)

' This code produces the following output:

' The sum of the numbers is 635.13.

Keterangan

Metode ini Sum(IQueryable<Single>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum(IQueryable<Single>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum(IQueryable<Single>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah mengembalikan jumlah nilai dalam source.

Berlaku untuk

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static float Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, float> ^> ^ selector);
public static float Sum<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,float>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, single>> -> single
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Single))) As Single

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IQueryable<TSource>

Urutan nilai jenis TSource.

selector
Expression<Func<TSource,Single>>

Fungsi proyeksi 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>(IQueryable<TSource>, Expression<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 SumEx3()
{
    List<Package> packages =
        new List<Package>
            { new Package { Company = "Coho Vineyard", Weight = 25.2 },
              new Package { Company = "Lucerne Publishing", Weight = 18.7 },
              new Package { Company = "Wingtip Toys", Weight = 6.0 },
              new Package { Company = "Adventure Works", Weight = 33.8 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);

    Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}

/*
    This code produces the following output:

    The total weight of the packages is: 83.7
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Keterangan

Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenisnya Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.

Metode ini Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah bahwa ia memanggil selector pada setiap elemen source dan mengembalikan jumlah nilai yang dihasilkan.

Berlaku untuk

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<float> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<float>> ^> ^ selector);
public static float? Sum<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,float?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<single>>> -> Nullable<single>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Single)))) As Nullable(Of Single)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IQueryable<TSource>

Urutan nilai jenis TSource.

selector
Expression<Func<TSource,Nullable<Single>>>

Fungsi proyeksi 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>(IQueryable<TSource>, Expression<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 SumEx3()
{
    List<Package> packages =
        new List<Package>
            { new Package { Company = "Coho Vineyard", Weight = 25.2 },
              new Package { Company = "Lucerne Publishing", Weight = 18.7 },
              new Package { Company = "Wingtip Toys", Weight = 6.0 },
              new Package { Company = "Adventure Works", Weight = 33.8 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);

    Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}

/*
    This code produces the following output:

    The total weight of the packages is: 83.7
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Keterangan

Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenisnya Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.

Metode ini Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah bahwa ia memanggil selector pada setiap elemen source dan mengembalikan jumlah nilai yang dihasilkan.

Berlaku untuk

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<long> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<long>> ^> ^ selector);
public static long? Sum<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,long?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<int64>>> -> Nullable<int64>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Long)))) As Nullable(Of Long)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IQueryable<TSource>

Urutan nilai jenis TSource.

selector
Expression<Func<TSource,Nullable<Int64>>>

Fungsi proyeksi 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>(IQueryable<TSource>, Expression<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 SumEx3()
{
    List<Package> packages =
        new List<Package>
            { new Package { Company = "Coho Vineyard", Weight = 25.2 },
              new Package { Company = "Lucerne Publishing", Weight = 18.7 },
              new Package { Company = "Wingtip Toys", Weight = 6.0 },
              new Package { Company = "Adventure Works", Weight = 33.8 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);

    Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}

/*
    This code produces the following output:

    The total weight of the packages is: 83.7
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Keterangan

Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenisnya Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.

Metode ini Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah bahwa ia memanggil selector pada setiap elemen source dan mengembalikan jumlah nilai yang dihasilkan.

Berlaku untuk

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<double> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<double>> ^> ^ selector);
public static double? Sum<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,double?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<double>>> -> Nullable<double>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Double)))) As Nullable(Of Double)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IQueryable<TSource>

Urutan nilai jenis TSource.

selector
Expression<Func<TSource,Nullable<Double>>>

Fungsi proyeksi 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>(IQueryable<TSource>, Expression<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 SumEx3()
{
    List<Package> packages =
        new List<Package>
            { new Package { Company = "Coho Vineyard", Weight = 25.2 },
              new Package { Company = "Lucerne Publishing", Weight = 18.7 },
              new Package { Company = "Wingtip Toys", Weight = 6.0 },
              new Package { Company = "Adventure Works", Weight = 33.8 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);

    Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}

/*
    This code produces the following output:

    The total weight of the packages is: 83.7
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Keterangan

Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenisnya Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.

Metode ini Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah bahwa ia memanggil selector pada setiap elemen source dan mengembalikan jumlah nilai yang dihasilkan.

Berlaku untuk

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<int> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<int>> ^> ^ selector);
public static int? Sum<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<int>>> -> Nullable<int>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Integer)))) As Nullable(Of Integer)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IQueryable<TSource>

Urutan nilai jenis TSource.

selector
Expression<Func<TSource,Nullable<Int32>>>

Fungsi proyeksi 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>(IQueryable<TSource>, Expression<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 SumEx3()
{
    List<Package> packages =
        new List<Package>
            { new Package { Company = "Coho Vineyard", Weight = 25.2 },
              new Package { Company = "Lucerne Publishing", Weight = 18.7 },
              new Package { Company = "Wingtip Toys", Weight = 6.0 },
              new Package { Company = "Adventure Works", Weight = 33.8 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);

    Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}

/*
    This code produces the following output:

    The total weight of the packages is: 83.7
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Keterangan

Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenis Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.

Metode ini Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah bahwa ia memanggil selector pada setiap elemen source dan mengembalikan jumlah nilai yang dihasilkan.

Berlaku untuk

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static long Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, long> ^> ^ selector);
public static long Sum<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,long>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int64>> -> int64
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Long))) As Long

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IQueryable<TSource>

Urutan nilai jenis TSource.

selector
Expression<Func<TSource,Int64>>

Fungsi proyeksi 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>(IQueryable<TSource>, Expression<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 SumEx3()
{
    List<Package> packages =
        new List<Package>
            { new Package { Company = "Coho Vineyard", Weight = 25.2 },
              new Package { Company = "Lucerne Publishing", Weight = 18.7 },
              new Package { Company = "Wingtip Toys", Weight = 6.0 },
              new Package { Company = "Adventure Works", Weight = 33.8 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);

    Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}

/*
    This code produces the following output:

    The total weight of the packages is: 83.7
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Keterangan

Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenis Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.

Metode ini Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah bahwa ia memanggil selector pada setiap elemen source dan mengembalikan jumlah nilai yang dihasilkan.

Berlaku untuk

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<System::Decimal> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<System::Decimal>> ^> ^ selector);
public static decimal? Sum<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,decimal?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<decimal>>> -> Nullable<decimal>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Decimal)))) As Nullable(Of Decimal)

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IQueryable<TSource>

Urutan nilai jenis TSource.

selector
Expression<Func<TSource,Nullable<Decimal>>>

Fungsi proyeksi 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>(IQueryable<TSource>, Expression<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 SumEx3()
{
    List<Package> packages =
        new List<Package>
            { new Package { Company = "Coho Vineyard", Weight = 25.2 },
              new Package { Company = "Lucerne Publishing", Weight = 18.7 },
              new Package { Company = "Wingtip Toys", Weight = 6.0 },
              new Package { Company = "Adventure Works", Weight = 33.8 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);

    Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}

/*
    This code produces the following output:

    The total weight of the packages is: 83.7
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Keterangan

Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenis Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.

Metode ini Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah bahwa ia memanggil selector pada setiap elemen source dan mengembalikan jumlah nilai yang dihasilkan.

Berlaku untuk

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static int Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, int> ^> ^ selector);
public static int Sum<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int>> -> int
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Integer))) As Integer

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IQueryable<TSource>

Urutan nilai jenis TSource.

selector
Expression<Func<TSource,Int32>>

Fungsi proyeksi 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>(IQueryable<TSource>, Expression<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 SumEx3()
{
    List<Package> packages =
        new List<Package>
            { new Package { Company = "Coho Vineyard", Weight = 25.2 },
              new Package { Company = "Lucerne Publishing", Weight = 18.7 },
              new Package { Company = "Wingtip Toys", Weight = 6.0 },
              new Package { Company = "Adventure Works", Weight = 33.8 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);

    Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}

/*
    This code produces the following output:

    The total weight of the packages is: 83.7
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Keterangan

Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenis Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.

Metode ini Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah bahwa ia memanggil selector pada setiap elemen source dan mengembalikan jumlah nilai yang dihasilkan.

Berlaku untuk

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static double Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, double> ^> ^ selector);
public static double Sum<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,double>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, double>> -> double
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Double))) As Double

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IQueryable<TSource>

Urutan nilai jenis TSource.

selector
Expression<Func<TSource,Double>>

Fungsi proyeksi 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>(IQueryable<TSource>, Expression<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 SumEx3()
{
    List<Package> packages =
        new List<Package>
            { new Package { Company = "Coho Vineyard", Weight = 25.2 },
              new Package { Company = "Lucerne Publishing", Weight = 18.7 },
              new Package { Company = "Wingtip Toys", Weight = 6.0 },
              new Package { Company = "Adventure Works", Weight = 33.8 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);

    Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}

/*
    This code produces the following output:

    The total weight of the packages is: 83.7
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Keterangan

Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenis Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.

Metode ini Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah bahwa ia memanggil selector pada setiap elemen source dan mengembalikan jumlah nilai yang dihasilkan.

Berlaku untuk

Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Decimal Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, System::Decimal> ^> ^ selector);
public static decimal Sum<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,decimal>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, decimal>> -> decimal
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Decimal))) As Decimal

Jenis parameter

TSource

Jenis elemen source.

Parameter

source
IQueryable<TSource>

Urutan nilai jenis TSource.

selector
Expression<Func<TSource,Decimal>>

Fungsi proyeksi 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>(IQueryable<TSource>, Expression<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 SumEx3()
{
    List<Package> packages =
        new List<Package>
            { new Package { Company = "Coho Vineyard", Weight = 25.2 },
              new Package { Company = "Lucerne Publishing", Weight = 18.7 },
              new Package { Company = "Wingtip Toys", Weight = 6.0 },
              new Package { Company = "Adventure Works", Weight = 33.8 } };

    // Calculate the sum of all package weights.
    double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);

    Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}

/*
    This code produces the following output:

    The total weight of the packages is: 83.7
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Shared Sub SumEx3()
    Dim packages As New List(Of Package)(New Package() { _
            New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
              New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
              New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
              New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Calculate the sum of all package weights.
    Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)

    MsgBox("The total weight of the packages is: " & totalWeight)
End Sub

'This code produces the following output:

'The total weight of the packages is: 83.7

Keterangan

Metode ini memiliki setidaknya satu parameter jenis Expression<TDelegate> yang argumen jenisnya adalah salah satu jenis Func<T,TResult> . Untuk parameter ini, Anda dapat meneruskan ekspresi lambda dan akan dikompilasi ke Expression<TDelegate>.

Metode ini Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) menghasilkan MethodCallExpression yang mewakili pemanggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke Execute<TResult>(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah bahwa ia memanggil selector pada setiap elemen source dan mengembalikan jumlah nilai yang dihasilkan.

Berlaku untuk