Enumerable.Sum Yöntem

Tanım

Sayısal değerler dizisinin toplamını hesaplar.

Aşırı Yüklemeler

Sum(IEnumerable<Single>)

Bir değer dizisinin toplamını Single hesaplar.

Sum(IEnumerable<Nullable<Int32>>)

Null değer atanabilir Int32 değerler dizisinin toplamını hesaplar.

Sum(IEnumerable<Nullable<Single>>)

Null değer atanabilir Single değerler dizisinin toplamını hesaplar.

Sum(IEnumerable<Nullable<Int64>>)

Null değer atanabilir Int64 değerler dizisinin toplamını hesaplar.

Sum(IEnumerable<Nullable<Double>>)

Null değer atanabilir Double değerler dizisinin toplamını hesaplar.

Sum(IEnumerable<Int32>)

Bir değer dizisinin toplamını Int32 hesaplar.

Sum(IEnumerable<Int64>)

Bir değer dizisinin toplamını Int64 hesaplar.

Sum(IEnumerable<Double>)

Bir değer dizisinin toplamını Double hesaplar.

Sum(IEnumerable<Decimal>)

Bir değer dizisinin toplamını Decimal hesaplar.

Sum(IEnumerable<Nullable<Decimal>>)

Null değer atanabilir Decimal değerler dizisinin toplamını hesaplar.

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

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağırarak elde edilen değer dizisinin Single toplamını hesaplar.

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

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağrılarak elde edilen null değer Int64 dizisinin toplamını hesaplar.

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

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağrılarak elde edilen null değer Int32 dizisinin toplamını hesaplar.

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

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağrılarak elde edilen null değer Double dizisinin toplamını hesaplar.

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

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağrılarak elde edilen null değer Single dizisinin toplamını hesaplar.

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

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağırarak elde edilen değer dizisinin Int64 toplamını hesaplar.

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

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağırarak elde edilen değer dizisinin Int32 toplamını hesaplar.

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

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağırarak elde edilen değer dizisinin Double toplamını hesaplar.

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

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağırarak elde edilen değer dizisinin Decimal toplamını hesaplar.

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

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağrılarak elde edilen null değer Decimal dizisinin toplamını hesaplar.

Sum(IEnumerable<Single>)

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Bir değer dizisinin toplamını Single hesaplar.

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

Parametreler

source
IEnumerable<Single>

Toplamını Single hesaplamak için bir değer dizisi.

Döndürülenler

Dizideki değerlerin toplamı.

Özel durumlar

source, null değeridir.

Örnekler

Aşağıdaki kod örneği, bir dizinin değerlerini toplamak için nasıl kullanılacağını Sum(IEnumerable<Single>) gösterir.

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

Açıklamalar

Bu yöntem, öğe içermiyorsa source sıfır döndürür.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına çevrilir Sum.

Ayrıca bkz.

Şunlara uygulanır

Sum(IEnumerable<Nullable<Int32>>)

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Null değer atanabilir Int32 değerler dizisinin toplamını hesaplar.

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)

Parametreler

source
IEnumerable<Nullable<Int32>>

Toplamını hesaplamak için null değer atanabilir Int32 değerler dizisi.

Döndürülenler

Dizideki değerlerin toplamı.

Özel durumlar

source, null değeridir.

Toplam , Int32.MaxValue değerinden büyüktür.

Açıklamalar

Içindeki source öğeler null toplamın hesaplamasından dışlanır. Bu yöntem, öğe içermiyorsa source veya tüm öğeler ise nullsıfır döndürür.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına çevrilir Sum.

Ayrıca bkz.

Şunlara uygulanır

Sum(IEnumerable<Nullable<Single>>)

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Null değer atanabilir Single değerler dizisinin toplamını hesaplar.

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)

Parametreler

source
IEnumerable<Nullable<Single>>

Toplamını hesaplamak için null değer atanabilir Single değerler dizisi.

Döndürülenler

Dizideki değerlerin toplamı.

Özel durumlar

source, null değeridir.

Örnekler

Aşağıdaki kod örneği, bir dizinin değerlerini toplamak için nasıl kullanılacağını Sum(IEnumerable<Nullable<Single>>) gösterir.

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

Açıklamalar

Içindeki source öğeler null toplamın hesaplamasından dışlanır. Bu yöntem, öğe içermiyorsa source veya tüm öğeler ise nullsıfır döndürür.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına çevrilir Sum.

Ayrıca bkz.

Şunlara uygulanır

Sum(IEnumerable<Nullable<Int64>>)

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Null değer atanabilir Int64 değerler dizisinin toplamını hesaplar.

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)

Parametreler

source
IEnumerable<Nullable<Int64>>

Toplamını hesaplamak için null değer atanabilir Int64 değerler dizisi.

Döndürülenler

Dizideki değerlerin toplamı.

Özel durumlar

source, null değeridir.

Toplam , Int64.MaxValue değerinden büyüktür.

Açıklamalar

Içindeki source öğeler null toplamın hesaplamasından dışlanır. Bu yöntem, öğe içermiyorsa source veya tüm öğeler ise nullsıfır döndürür.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına çevrilir Sum.

Ayrıca bkz.

Şunlara uygulanır

Sum(IEnumerable<Nullable<Double>>)

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Null değer atanabilir Double değerler dizisinin toplamını hesaplar.

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)

Parametreler

source
IEnumerable<Nullable<Double>>

Toplamını hesaplamak için null değer atanabilir Double değerler dizisi.

Döndürülenler

Dizideki değerlerin toplamı.

Özel durumlar

source, null değeridir.

Toplam Double.MaxValue değerinden büyük.

Açıklamalar

Içindeki source öğeler null toplamın hesaplamasından dışlanır. Bu yöntem, öğe içermiyorsa source veya tüm öğeler ise nullsıfır döndürür.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına çevrilir Sum.

Ayrıca bkz.

Şunlara uygulanır

Sum(IEnumerable<Int32>)

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Bir değer dizisinin toplamını Int32 hesaplar.

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

Parametreler

source
IEnumerable<Int32>

Toplamını Int32 hesaplamak için bir değer dizisi.

Döndürülenler

Dizideki değerlerin toplamı.

Özel durumlar

source, null değeridir.

Toplam , Int32.MaxValue değerinden büyüktür.

Açıklamalar

Bu yöntem, öğe içermiyorsa source sıfır döndürür.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına çevrilir Sum.

Ayrıca bkz.

Şunlara uygulanır

Sum(IEnumerable<Int64>)

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Bir değer dizisinin toplamını Int64 hesaplar.

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

Parametreler

source
IEnumerable<Int64>

Toplamını Int64 hesaplamak için bir değer dizisi.

Döndürülenler

Dizideki değerlerin toplamı.

Özel durumlar

source, null değeridir.

Toplam , Int64.MaxValue değerinden büyüktür.

Açıklamalar

Bu yöntem, öğe içermiyorsa source sıfır döndürür.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına çevrilir Sum.

Ayrıca bkz.

Şunlara uygulanır

Sum(IEnumerable<Double>)

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Bir değer dizisinin toplamını Double hesaplar.

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

Parametreler

source
IEnumerable<Double>

Toplamını Double hesaplamak için bir değer dizisi.

Döndürülenler

Dizideki değerlerin toplamı.

Özel durumlar

source, null değeridir.

Toplam Double.MaxValue değerinden büyük.

Açıklamalar

Bu yöntem, öğe içermiyorsa source sıfır döndürür.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına Sumdönüşür.

Ayrıca bkz.

Şunlara uygulanır

Sum(IEnumerable<Decimal>)

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Bir değer dizisinin toplamını Decimal hesaplar.

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

Parametreler

source
IEnumerable<Decimal>

Toplamını Decimal hesaplamak için bir değer dizisi.

Döndürülenler

Dizideki değerlerin toplamı.

Özel durumlar

source, null değeridir.

Toplam Decimal.MaxValue değerinden büyük.

Açıklamalar

yöntemi Sum(IEnumerable<Decimal>) , öğe içermiyorsa source sıfır döndürür.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına Sumdönüşür.

Ayrıca bkz.

Şunlara uygulanır

Sum(IEnumerable<Nullable<Decimal>>)

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Null değer atanabilir Decimal değerler dizisinin toplamını hesaplar.

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)

Parametreler

source
IEnumerable<Nullable<Decimal>>

Toplamını hesaplamak için null değer atanabilir Decimal değerler dizisi.

Döndürülenler

Dizideki değerlerin toplamı.

Özel durumlar

source, null değeridir.

Toplam Decimal.MaxValue değerinden büyük.

Açıklamalar

içindeki source öğeler null toplamın hesaplamasının dışında tutulur. Bu yöntem, öğe içermiyorsa source veya tüm öğeler ise nullsıfır döndürür.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına Sumdönüşür.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağrılarak elde edilen değer dizisinin Single toplamını hesaplar.

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

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Toplamı hesaplamak için kullanılan değer dizisi.

selector
Func<TSource,Single>

Her öğeye uygulanacak dönüştürme işlevi.

Döndürülenler

Öngörülen değerlerin toplamı.

Özel durumlar

source veya selector şeklindedir null.

Örnekler

Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) gösterir.

Not

Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.

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

Açıklamalar

yöntemi Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>) , öğe içermiyorsa source sıfır döndürür.

Bu yöntemi, selectorüyelerini source sayısal bir türe ( özellikle Single) projeleyen bir işlev sağlarsanız, rastgele değerler dizisine uygulayabilirsiniz.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına Sumdönüşür.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağrılarak elde edilen null atanabilir Int64 değerler dizisinin toplamını hesaplar.

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)

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Toplamı hesaplamak için kullanılan değer dizisi.

selector
Func<TSource,Nullable<Int64>>

Her öğeye uygulanacak dönüştürme işlevi.

Döndürülenler

Öngörülen değerlerin toplamı.

Özel durumlar

source veya selector şeklindedir null.

Toplam , Int64.MaxValue değerinden büyük.

Örnekler

Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) gösterir.

Not

Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.

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

Açıklamalar

içindeki source öğeler null toplamın hesaplamasının dışında tutulur. Bu yöntem, öğe içermiyorsa source veya tüm öğeler ise nullsıfır döndürür.

Bu yöntemi, selectorüyelerini source özellikle Nullable<Int64> C# dilinde veya Nullable(Of Int64) Visual Basic'te sayısal bir türe dönüştüren bir işlev sağlarsanız, rastgele değerler dizisine uygulayabilirsiniz.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına Sumdönüşür.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağrılarak elde edilen null atanabilir Int32 değerler dizisinin toplamını hesaplar.

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)

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Toplamı hesaplamak için kullanılan değer dizisi.

selector
Func<TSource,Nullable<Int32>>

Her öğeye uygulanacak dönüştürme işlevi.

Döndürülenler

Öngörülen değerlerin toplamı.

Özel durumlar

source veya selector şeklindedir null.

Toplam , Int32.MaxValue değerinden büyük.

Örnekler

Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) gösterir.

Not

Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.

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

Açıklamalar

içindeki source öğeler null toplamın hesaplamasının dışında tutulur. Bu yöntem, öğe içermiyorsa source veya tüm öğeler ise nullsıfır döndürür.

Bu yöntemi, selectorüyelerini source özellikle Nullable<Int32> C# dilinde veya Nullable(Of Int32) Visual Basic'te sayısal bir türe projeleyen bir işlev sağlarsanız, rastgele değerler dizisine uygulayabilirsiniz.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına Sumdönüşür.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağrılarak elde edilen null atanabilir Double değerler dizisinin toplamını hesaplar.

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)

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Toplamı hesaplamak için kullanılan değer dizisi.

selector
Func<TSource,Nullable<Double>>

Her öğeye uygulanacak dönüştürme işlevi.

Döndürülenler

Öngörülen değerlerin toplamı.

Özel durumlar

source veya selector şeklindedir null.

Toplam Double.MaxValue değerinden büyük.

Örnekler

Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) gösterir.

Not

Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.

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

Açıklamalar

içindeki source öğeler null toplamın hesaplamasının dışında tutulur. Bu yöntem, öğe içermiyorsa source veya tüm öğeler ise nullsıfır döndürür.

Bu yöntemi, selectorüyelerini source özellikle Nullable<Double> C# dilinde veya Nullable(Of Double) Visual Basic'te sayısal bir türe projeleyen bir işlev sağlarsanız, rastgele değerler dizisine uygulayabilirsiniz.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına Sumdönüşür.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağrılarak elde edilen null değer Single dizisinin toplamını hesaplar.

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)

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Toplamı hesaplamak için kullanılan değer dizisi.

selector
Func<TSource,Nullable<Single>>

Her öğeye uygulanacak dönüştürme işlevi.

Döndürülenler

Öngörülen değerlerin toplamı.

Özel durumlar

source veya selector şeklindedir null.

Örnekler

Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) gösterir.

Not

Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.

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

Açıklamalar

içindeki source öğeler null toplamın hesaplamasının dışında tutulur. Bu yöntem, öğe içermiyorsa source veya tüm öğeler ise nullsıfır döndürür.

Bu yöntemi, selectorüyelerini source özellikle Nullable<Single> C# dilinde veya Nullable(Of Single) Visual Basic'te sayısal bir türe projeleyen bir işlev sağlarsanız, rastgele değerler dizisine uygulayabilirsiniz.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına çevrilir Sum.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağırarak elde edilen değer dizisinin Int64 toplamını hesaplar.

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

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Toplamı hesaplamak için kullanılan değer dizisi.

selector
Func<TSource,Int64>

Her öğeye uygulanacak bir dönüştürme işlevi.

Döndürülenler

Öngörülen değerlerin toplamı.

Özel durumlar

source veya selector şeklindedir null.

Toplam , Int64.MaxValue değerinden büyüktür.

Örnekler

Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) gösterir.

Not

Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.

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

Açıklamalar

Bu yöntem, öğe içermiyorsa source sıfır döndürür.

Bu yöntemi, selectorüyelerini source sayısal bir türe ( özellikle Int64) projeleyen bir işlev sağlarsanız, rastgele değerler dizisine uygulayabilirsiniz.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına çevrilir Sum.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağırarak elde edilen değer dizisinin Int32 toplamını hesaplar.

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

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Toplamı hesaplamak için kullanılan değer dizisi.

selector
Func<TSource,Int32>

Her öğeye uygulanacak bir dönüştürme işlevi.

Döndürülenler

Öngörülen değerlerin toplamı.

Özel durumlar

source veya selector şeklindedir null.

Toplam , Int32.MaxValue değerinden büyüktür.

Örnekler

Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) gösterir.

Not

Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.

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

Açıklamalar

Bu yöntem, öğe içermiyorsa source sıfır döndürür.

Bu yöntemi, selectorüyelerini source sayısal bir türe ( özellikle Int32) projeleyen bir işlev sağlarsanız, rastgele değerler dizisine uygulayabilirsiniz.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına çevrilir Sum.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağırarak elde edilen değer dizisinin Double toplamını hesaplar.

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

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Toplamı hesaplamak için kullanılan değer dizisi.

selector
Func<TSource,Double>

Her öğeye uygulanacak bir dönüştürme işlevi.

Döndürülenler

Öngörülen değerlerin toplamı.

Özel durumlar

source veya selector şeklindedir null.

Toplam Double.MaxValue değerinden büyük.

Örnekler

Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) gösterir.

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

Açıklamalar

Bu yöntem, öğe içermiyorsa source sıfır döndürür.

Bu yöntemi, selectorüyelerini source sayısal bir türe ( özellikle Double) projeleyen bir işlev sağlarsanız, rastgele değerler dizisine uygulayabilirsiniz.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına çevrilir Sum.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağırarak elde edilen değer dizisinin Decimal toplamını hesaplar.

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

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Toplamı hesaplamak için kullanılan değer dizisi.

selector
Func<TSource,Decimal>

Her öğeye uygulanacak bir dönüştürme işlevi.

Döndürülenler

Öngörülen değerlerin toplamı.

Özel durumlar

source veya selector şeklindedir null.

Toplam , Decimal.MaxValue değerinden büyük.

Örnekler

Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) gösterir.

Not

Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.

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

Açıklamalar

Bu yöntem, öğe içermiyorsa source sıfır döndürür.

Bu yöntemi, selectorüyelerini source sayısal bir türe ( özellikle Decimal) projeleyen bir işlev sağlarsanız, rastgele değerler dizisine uygulayabilirsiniz.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına çevrilir Sum.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Sum.cs
Kaynak:
Sum.cs
Kaynak:
Sum.cs

Giriş dizisinin her öğesinde bir dönüştürme işlevi çağrılarak elde edilen null değer Decimal dizisinin toplamını hesaplar.

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)

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IEnumerable<TSource>

Toplamı hesaplamak için kullanılan değer dizisi.

selector
Func<TSource,Nullable<Decimal>>

Her öğeye uygulanacak bir dönüştürme işlevi.

Döndürülenler

Öngörülen değerlerin toplamı.

Özel durumlar

source veya selector şeklindedir null.

Toplam , Decimal.MaxValue değerinden büyük.

Örnekler

Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) gösterir.

Not

Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.

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

Açıklamalar

Içindeki source öğeler null toplamın hesaplamasından dışlanır. Bu yöntem, öğe içermiyorsa source veya tüm öğeler ise nullsıfır döndürür.

Bu yöntemi, üyelerini source sayısal bir türe, selectorözellikle Nullable<Decimal> C# dilinde veya Nullable(Of Decimal) Visual Basic'te projeleyen bir işlev sağlarsanız, rastgele değerler dizisine uygulayabilirsiniz.

Visual Basic sorgu ifadesi söz diziminde yan Aggregate Into Sum() tümcesi çağrısına çevrilir Sum.

Ayrıca bkz.

Şunlara uygulanır