## 多載

 Sum(IEnumerable>) Sum(IEnumerable>) Sum(IEnumerable>) Sum(IEnumerable>) 計算可為 Null 之 Int32 值序列的總和。Computes the sum of a sequence of nullable Int32 values. Sum(IEnumerable>) Sum(IEnumerable>) Sum(IEnumerable>) Sum(IEnumerable>) 計算可為 Null 之 Single 值序列的總和。Computes the sum of a sequence of nullable Single values. Sum(IEnumerable>) Sum(IEnumerable>) Sum(IEnumerable>) Sum(IEnumerable>) 計算可為 Null 之 Int64 值序列的總和。Computes the sum of a sequence of nullable Int64 values. Sum(IEnumerable) Sum(IEnumerable) Sum(IEnumerable) Sum(IEnumerable) 計算 Single 值序列的總和。Computes the sum of a sequence of Single values. Sum(IEnumerable>) Sum(IEnumerable>) Sum(IEnumerable>) Sum(IEnumerable>) 計算可為 Null 之 Double 值序列的總和。Computes the sum of a sequence of nullable Double values. Sum(IEnumerable) Sum(IEnumerable) Sum(IEnumerable) Sum(IEnumerable) 計算 Int32 值序列的總和。Computes the sum of a sequence of Int32 values. Sum(IEnumerable) Sum(IEnumerable) Sum(IEnumerable) Sum(IEnumerable) 計算 Int64 值序列的總和。Computes the sum of a sequence of Int64 values. Sum(IEnumerable) Sum(IEnumerable) Sum(IEnumerable) Sum(IEnumerable) 計算 Double 值序列的總和。Computes the sum of a sequence of Double values. Sum(IEnumerable) Sum(IEnumerable) Sum(IEnumerable) Sum(IEnumerable) 計算 Decimal 值序列的總和。Computes the sum of a sequence of Decimal values. Sum(IEnumerable>) Sum(IEnumerable>) Sum(IEnumerable>) Sum(IEnumerable>) 計算可為 Null 之 Decimal 值序列的總和。Computes the sum of a sequence of nullable Decimal values. Sum(IEnumerable, Func) Sum(IEnumerable, Func) Sum(IEnumerable, Func) Sum(IEnumerable, Func) 計算在輸入序列中各項目上叫用轉換函式後所取得之 Single 值序列的總和。Computes the sum of the sequence of Single values that are obtained by invoking a transform function on each element of the input sequence. Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) 計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 Single 值的總和。Computes the sum of the sequence of nullable Single values that are obtained by invoking a transform function on each element of the input sequence. Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) 計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 Int64 值的總和。Computes the sum of the sequence of nullable Int64 values that are obtained by invoking a transform function on each element of the input sequence. Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) 計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 Int32 值的總和。Computes the sum of the sequence of nullable Int32 values that are obtained by invoking a transform function on each element of the input sequence. Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) 計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 Double 值的總和。Computes the sum of the sequence of nullable Double values that are obtained by invoking a transform function on each element of the input sequence. Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) Sum(IEnumerable, Func>) 計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 Decimal 值的總和。Computes the sum of the sequence of nullable Decimal values that are obtained by invoking a transform function on each element of the input sequence. Sum(IEnumerable, Func) Sum(IEnumerable, Func) Sum(IEnumerable, Func) Sum(IEnumerable, Func) 計算在輸入序列中各項目上叫用轉換函式後所取得之 Int64 值序列的總和。Computes the sum of the sequence of Int64 values that are obtained by invoking a transform function on each element of the input sequence. Sum(IEnumerable, Func) Sum(IEnumerable, Func) Sum(IEnumerable, Func) Sum(IEnumerable, Func) 計算在輸入序列中各項目上叫用轉換函式後所取得之 Int32 值序列的總和。Computes the sum of the sequence of Int32 values that are obtained by invoking a transform function on each element of the input sequence. Sum(IEnumerable, Func) Sum(IEnumerable, Func) Sum(IEnumerable, Func) Sum(IEnumerable, Func) 計算在輸入序列中各項目上叫用轉換函式後所取得之 Double 值序列的總和。Computes the sum of the sequence of Double values that are obtained by invoking a transform function on each element of the input sequence. Sum(IEnumerable, Func) Sum(IEnumerable, Func) Sum(IEnumerable, Func) Sum(IEnumerable, Func) 計算在輸入序列中各項目上叫用轉換函式後所取得之 Decimal 值序列的總和。Computes the sum of the sequence of Decimal values that are obtained by invoking a transform function on each element of the input sequence.

## Sum(IEnumerable<Nullable<Int32>>)Sum(IEnumerable<Nullable<Int32>>)Sum(IEnumerable<Nullable<Int32>>)Sum(IEnumerable<Nullable<Int32>>)

``````public:
[System::Runtime::CompilerServices::Extension]
static Nullable<int> Sum(System::Collections::Generic::IEnumerable<Nullable<int>> ^ source);``````
``public static Nullable<int> Sum (this System.Collections.Generic.IEnumerable<Nullable<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)``````

source

#### 例外狀況

`source``null``source` is `null`.

### 範例

``````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.
MsgBox("Total points earned: " & sum)

' This code produces the following output:
'
' Total points earned: 311.39
``````

## Sum(IEnumerable<Nullable<Single>>)Sum(IEnumerable<Nullable<Single>>)Sum(IEnumerable<Nullable<Single>>)Sum(IEnumerable<Nullable<Single>>)

``````public:
[System::Runtime::CompilerServices::Extension]
static Nullable<float> Sum(System::Collections::Generic::IEnumerable<Nullable<float>> ^ source);``````
``public static Nullable<float> Sum (this System.Collections.Generic.IEnumerable<Nullable<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)``````

source

#### 例外狀況

`source``null``source` is `null`.

### 範例

``````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.
MsgBox("Total points earned: " & sum)

' This code produces the following output:
'
' Total points earned: 311.39
``````

## Sum(IEnumerable<Nullable<Int64>>)Sum(IEnumerable<Nullable<Int64>>)Sum(IEnumerable<Nullable<Int64>>)Sum(IEnumerable<Nullable<Int64>>)

``````public:
[System::Runtime::CompilerServices::Extension]
static Nullable<long> Sum(System::Collections::Generic::IEnumerable<Nullable<long>> ^ source);``````
``public static Nullable<long> Sum (this System.Collections.Generic.IEnumerable<Nullable<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)``````

source

#### 例外狀況

`source``null``source` is `null`.

### 範例

``````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.
MsgBox("Total points earned: " & sum)

' This code produces the following output:
'
' Total points earned: 311.39
``````

## Sum(IEnumerable<Single>)Sum(IEnumerable<Single>)Sum(IEnumerable<Single>)Sum(IEnumerable<Single>)

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

source

#### 例外狀況

`source``null``source` is `null`.

### 範例

``````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.
MsgBox("The sum of the numbers is " & sum)

' This code produces the following output:
'
' The sum of the numbers is 635.13
``````

## Sum(IEnumerable<Nullable<Double>>)Sum(IEnumerable<Nullable<Double>>)Sum(IEnumerable<Nullable<Double>>)Sum(IEnumerable<Nullable<Double>>)

``````public:
[System::Runtime::CompilerServices::Extension]
static Nullable<double> Sum(System::Collections::Generic::IEnumerable<Nullable<double>> ^ source);``````
``public static Nullable<double> Sum (this System.Collections.Generic.IEnumerable<Nullable<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)``````

source

#### 例外狀況

`source``null``source` is `null`.

### 範例

``````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.
MsgBox("Total points earned: " & sum)

' This code produces the following output:
'
' Total points earned: 311.39
``````

## Sum(IEnumerable<Int32>)Sum(IEnumerable<Int32>)Sum(IEnumerable<Int32>)Sum(IEnumerable<Int32>)

``````public:
[System::Runtime::CompilerServices::Extension]
static int Sum(System::Collections::Generic::IEnumerable<int> ^ source);``````
``public static int Sum (this System.Collections.Generic.IEnumerable<int> source);``
``static member Sum : seq<int> -> int``
``````<Extension()>
Public Function Sum (source As IEnumerable(Of Integer)) As Integer``````

source

#### 例外狀況

`source``null``source` is `null`.

### 範例

``````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.
MsgBox("The sum of the numbers is " & sum)

' This code produces the following output:
'
' The sum of the numbers is 635.13
``````

## Sum(IEnumerable<Int64>)Sum(IEnumerable<Int64>)Sum(IEnumerable<Int64>)Sum(IEnumerable<Int64>)

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

source

#### 例外狀況

`source``null``source` is `null`.

### 範例

``````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.
MsgBox("The sum of the numbers is " & sum)

' This code produces the following output:
'
' The sum of the numbers is 635.13
``````

## Sum(IEnumerable<Double>)Sum(IEnumerable<Double>)Sum(IEnumerable<Double>)Sum(IEnumerable<Double>)

``````public:
[System::Runtime::CompilerServices::Extension]
static double Sum(System::Collections::Generic::IEnumerable<double> ^ source);``````
``public static double Sum (this System.Collections.Generic.IEnumerable<double> source);``
``static member Sum : seq<double> -> double``
``````<Extension()>
Public Function Sum (source As IEnumerable(Of Double)) As Double``````

source

#### 例外狀況

`source``null``source` is `null`.

### 範例

``````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.
MsgBox("The sum of the numbers is " & sum)

' This code produces the following output:
'
' The sum of the numbers is 635.13
``````

## Sum(IEnumerable<Decimal>)Sum(IEnumerable<Decimal>)Sum(IEnumerable<Decimal>)Sum(IEnumerable<Decimal>)

``````public:
[System::Runtime::CompilerServices::Extension]
static System::Decimal Sum(System::Collections::Generic::IEnumerable<System::Decimal> ^ source);``````
``public static decimal Sum (this System.Collections.Generic.IEnumerable<decimal> source);``
``static member Sum : seq<decimal> -> decimal``
``````<Extension()>
Public Function Sum (source As IEnumerable(Of Decimal)) As Decimal``````

source

#### 例外狀況

`source``null``source` is `null`.

### 範例

``````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.
MsgBox("The sum of the numbers is " & sum)

' This code produces the following output:
'
' The sum of the numbers is 635.13
``````

### 備註

Sum(IEnumerable<Decimal>) 如果`source`未包含任何專案, 此方法會傳回零。The Sum(IEnumerable<Decimal>) method returns zero if `source` contains no elements.

## Sum(IEnumerable<Nullable<Decimal>>)Sum(IEnumerable<Nullable<Decimal>>)Sum(IEnumerable<Nullable<Decimal>>)Sum(IEnumerable<Nullable<Decimal>>)

``````public:
[System::Runtime::CompilerServices::Extension]
static Nullable<System::Decimal> Sum(System::Collections::Generic::IEnumerable<Nullable<System::Decimal>> ^ source);``````
``public static Nullable<decimal> Sum (this System.Collections.Generic.IEnumerable<Nullable<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)``````

source

#### 例外狀況

`source``null``source` is `null`.

### 範例

``````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.
MsgBox("Total points earned: " & sum)

' This code produces the following output:
'
' Total points earned: 311.39
``````

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

``````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``````

#### 類型參數

TSource

`source` 項目的類型。The type of the elements of `source`.

#### 參數

source
IEnumerable<TSource>

selector
Func<TSource,Single>

#### 例外狀況

`source``selector``null``source` or `selector` is `null`.

### 範例

``````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.
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
``````

### 備註

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>) 如果`source`未包含任何專案, 此方法會傳回零。The Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>) method returns zero if `source` contains no elements.

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

``````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 Nullable<float> Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,Nullable<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)``````

#### 類型參數

TSource

`source` 項目的類型。The type of the elements of `source`.

#### 參數

source
IEnumerable<TSource>

selector
Func<TSource,Nullable<Single>>

#### 例外狀況

`source``selector``null``source` or `selector` is `null`.

### 範例

``````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.
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
``````

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

``````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 Nullable<long> Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,Nullable<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)``````

#### 類型參數

TSource

`source` 項目的類型。The type of the elements of `source`.

#### 參數

source
IEnumerable<TSource>

selector
Func<TSource,Nullable<Int64>>

#### 例外狀況

`source``selector``null``source` or `selector` is `null`.

### 範例

``````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.
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
``````

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

``````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 Nullable<int> Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,Nullable<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)``````

#### 類型參數

TSource

`source` 項目的類型。The type of the elements of `source`.

#### 參數

source
IEnumerable<TSource>

selector
Func<TSource,Nullable<Int32>>

#### 例外狀況

`source``selector``null``source` or `selector` is `null`.

### 範例

``````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.
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
``````

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

``````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 Nullable<double> Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,Nullable<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)``````

#### 類型參數

TSource

`source` 項目的類型。The type of the elements of `source`.

#### 參數

source
IEnumerable<TSource>

selector
Func<TSource,Nullable<Double>>

#### 例外狀況

`source``selector``null``source` or `selector` is `null`.

### 範例

``````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.
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
``````

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

``````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 Nullable<decimal> Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,Nullable<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)``````

#### 類型參數

TSource

`source` 項目的類型。The type of the elements of `source`.

#### 參數

source
IEnumerable<TSource>

selector
Func<TSource,Nullable<Decimal>>

#### 例外狀況

`source``selector``null``source` or `selector` is `null`.

### 範例

``````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.
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
``````

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

``````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``````

#### 類型參數

TSource

`source` 項目的類型。The type of the elements of `source`.

#### 參數

source
IEnumerable<TSource>

selector
Func<TSource,Int64>

#### 例外狀況

`source``selector``null``source` or `selector` is `null`.

### 範例

``````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.
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
``````

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

``````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``````

#### 類型參數

TSource

`source` 項目的類型。The type of the elements of `source`.

#### 參數

source
IEnumerable<TSource>

selector
Func<TSource,Int32>

#### 例外狀況

`source``selector``null``source` or `selector` is `null`.

### 範例

``````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.
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
``````

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

``````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``````

#### 類型參數

TSource

`source` 項目的類型。The type of the elements of `source`.

#### 參數

source
IEnumerable<TSource>

selector
Func<TSource,Double>

#### 例外狀況

`source``selector``null``source` or `selector` is `null`.

### 範例

``````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.
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
``````

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

``````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``````

#### 類型參數

TSource

`source` 項目的類型。The type of the elements of `source`.

#### 參數

source
IEnumerable<TSource>

selector
Func<TSource,Decimal>

#### 例外狀況

`source``selector``null``source` or `selector` is `null`.

### 範例

``````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.
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
``````