## 多載

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