# Enumerable.Average 方法

## 多載

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

## Average(IEnumerable<Single>)

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

#### 參數

source
IEnumerable<Single>

#### 例外狀況

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

`source` 沒有包含任何項目。`source` contains no elements.

### 範例

``````List<int> grades = new List<int> { 78, 92, 100, 37, 81 };

Console.WriteLine("The average grade is {0}.", average);

// This code produces the following output:
//
// The average grade is 77.6.
``````
``````' Create a list of integers.
Dim grades As New List(Of Integer)(New Integer() {78, 92, 100, 37, 81})

' Determine the average value in the list.
Dim avg As Double = grades.Average()

' Display the output.

' This code produces the following output:
'
' The average grade is 77.6
``````

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

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

#### 參數

source
IEnumerable<Nullable<Single>>

#### 例外狀況

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

### 範例

``````long?[] longs = { null, 10007L, 37L, 399846234235L };

double? average = longs.Average();

Console.WriteLine("The average is {0}.", average);

// This code produces the following output:
//
// The average is 133282081426.333.
``````
``````' Create an array of nullable long values.
Dim longs() As Nullable(Of Long) = {Nothing, 10007L, 37L, 399846234235L}

' Determine the average value in the array.
Dim avg As Nullable(Of Double) = longs.Average()

' Display the output.
Console.WriteLine(\$"The average is {avg}")

' This code produces the following output:
'
' The average is 133282081426.333
``````

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

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

#### 參數

source
IEnumerable<Nullable<Int64>>

#### 例外狀況

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

### 範例

``````long?[] longs = { null, 10007L, 37L, 399846234235L };

double? average = longs.Average();

Console.WriteLine("The average is {0}.", average);

// This code produces the following output:
//
// The average is 133282081426.333.
``````
``````' Create an array of nullable long values.
Dim longs() As Nullable(Of Long) = {Nothing, 10007L, 37L, 399846234235L}

' Determine the average value in the array.
Dim avg As Nullable(Of Double) = longs.Average()

' Display the output.
Console.WriteLine(\$"The average is {avg}")

' This code produces the following output:
'
' The average is 133282081426.333
``````

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

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

#### 參數

source
IEnumerable<Nullable<Int32>>

#### 例外狀況

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

### 範例

``````long?[] longs = { null, 10007L, 37L, 399846234235L };

double? average = longs.Average();

Console.WriteLine("The average is {0}.", average);

// This code produces the following output:
//
// The average is 133282081426.333.
``````
``````' Create an array of nullable long values.
Dim longs() As Nullable(Of Long) = {Nothing, 10007L, 37L, 399846234235L}

' Determine the average value in the array.
Dim avg As Nullable(Of Double) = longs.Average()

' Display the output.
Console.WriteLine(\$"The average is {avg}")

' This code produces the following output:
'
' The average is 133282081426.333
``````

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

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

#### 參數

source
IEnumerable<Nullable<Double>>

#### 例外狀況

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

### 範例

``````long?[] longs = { null, 10007L, 37L, 399846234235L };

double? average = longs.Average();

Console.WriteLine("The average is {0}.", average);

// This code produces the following output:
//
// The average is 133282081426.333.
``````
``````' Create an array of nullable long values.
Dim longs() As Nullable(Of Long) = {Nothing, 10007L, 37L, 399846234235L}

' Determine the average value in the array.
Dim avg As Nullable(Of Double) = longs.Average()

' Display the output.
Console.WriteLine(\$"The average is {avg}")

' This code produces the following output:
'
' The average is 133282081426.333
``````

## Average(IEnumerable<Int64>)

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

#### 參數

source
IEnumerable<Int64>

#### 例外狀況

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

`source` 沒有包含任何項目。`source` contains no elements.

### 範例

``````List<int> grades = new List<int> { 78, 92, 100, 37, 81 };

Console.WriteLine("The average grade is {0}.", average);

// This code produces the following output:
//
// The average grade is 77.6.
``````
``````' Create a list of integers.
Dim grades As New List(Of Integer)(New Integer() {78, 92, 100, 37, 81})

' Determine the average value in the list.
Dim avg As Double = grades.Average()

' Display the output.

' This code produces the following output:
'
' The average grade is 77.6
``````

## Average(IEnumerable<Int32>)

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

#### 參數

source
IEnumerable<Int32>

#### 例外狀況

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

`source` 沒有包含任何項目。`source` contains no elements.

### 範例

``````List<int> grades = new List<int> { 78, 92, 100, 37, 81 };

Console.WriteLine("The average grade is {0}.", average);

// This code produces the following output:
//
// The average grade is 77.6.
``````
``````' Create a list of integers.
Dim grades As New List(Of Integer)(New Integer() {78, 92, 100, 37, 81})

' Determine the average value in the list.
Dim avg As Double = grades.Average()

' Display the output.

' This code produces the following output:
'
' The average grade is 77.6
``````

## Average(IEnumerable<Double>)

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

#### 參數

source
IEnumerable<Double>

#### 例外狀況

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

`source` 沒有包含任何項目。`source` contains no elements.

### 範例

``````List<int> grades = new List<int> { 78, 92, 100, 37, 81 };

Console.WriteLine("The average grade is {0}.", average);

// This code produces the following output:
//
// The average grade is 77.6.
``````
``````' Create a list of integers.
Dim grades As New List(Of Integer)(New Integer() {78, 92, 100, 37, 81})

' Determine the average value in the list.
Dim avg As Double = grades.Average()

' Display the output.

' This code produces the following output:
'
' The average grade is 77.6
``````

## Average(IEnumerable<Decimal>)

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

#### 參數

source
IEnumerable<Decimal>

#### 例外狀況

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

`source` 沒有包含任何項目。`source` contains no elements.

### 範例

``````List<int> grades = new List<int> { 78, 92, 100, 37, 81 };

Console.WriteLine("The average grade is {0}.", average);

// This code produces the following output:
//
// The average grade is 77.6.
``````
``````' Create a list of integers.
Dim grades As New List(Of Integer)(New Integer() {78, 92, 100, 37, 81})

' Determine the average value in the list.
Dim avg As Double = grades.Average()

' Display the output.

' This code produces the following output:
'
' The average grade is 77.6
``````

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

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

#### 參數

source
IEnumerable<Nullable<Decimal>>

#### 例外狀況

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

### 範例

``````long?[] longs = { null, 10007L, 37L, 399846234235L };

double? average = longs.Average();

Console.WriteLine("The average is {0}.", average);

// This code produces the following output:
//
// The average is 133282081426.333.
``````
``````' Create an array of nullable long values.
Dim longs() As Nullable(Of Long) = {Nothing, 10007L, 37L, 399846234235L}

' Determine the average value in the array.
Dim avg As Nullable(Of Double) = longs.Average()

' Display the output.
Console.WriteLine(\$"The average is {avg}")

' This code produces the following output:
'
' The average is 133282081426.333
``````

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

``````public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<double> Average(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<int>> ^ selector);``````
``public static Nullable<double> Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,Nullable<int>> selector);``
``static member Average : seq<'Source> * Func<'Source, Nullable<int>> -> Nullable<double>``
``````<Extension()>
Public Function Average(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Integer))) As Nullable(Of Double)``````

#### 類型參數

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

### 範例

``````string[] fruits = { "apple", "banana", "mango", "orange", "passionfruit", "grape" };

double average = fruits.Average(s => s.Length);

Console.WriteLine("The average string length is {0}.", average);

// This code produces the following output:
//
// The average string length is 6.5.
``````
``````' Create an array of strings.
Dim fruits() As String =
{"apple", "banana", "mango", "orange", "passionfruit", "grape"}

' Determine the average length of the strings in the array.
Dim avg As Double = fruits.Average(Function(s) s.Length)

' Display the output.
Console.WriteLine(\$"The average string length is {avg}")

' This code produces the following output:
'
' The average string length is 6.5
``````

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

``````public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static float Average(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, float> ^ selector);``````
``public static float Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float> selector);``
``static member Average : seq<'Source> * Func<'Source, single> -> single``
``````<Extension()>
Public Function Average(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`.

`source` 沒有包含任何項目。`source` contains no elements.

### 範例

``````string[] fruits = { "apple", "banana", "mango", "orange", "passionfruit", "grape" };

double average = fruits.Average(s => s.Length);

Console.WriteLine("The average string length is {0}.", average);

// This code produces the following output:
//
// The average string length is 6.5.
``````
``````' Create an array of strings.
Dim fruits() As String =
{"apple", "banana", "mango", "orange", "passionfruit", "grape"}

' Determine the average length of the strings in the array.
Dim avg As Double = fruits.Average(Function(s) s.Length)

' Display the output.
Console.WriteLine(\$"The average string length is {avg}")

' This code produces the following output:
'
' The average string length is 6.5
``````

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

``````public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<float> Average(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<float>> ^ selector);``````
``public static Nullable<float> Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,Nullable<float>> selector);``
``static member Average : seq<'Source> * Func<'Source, Nullable<single>> -> Nullable<single>``
``````<Extension()>
Public Function Average(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`.

### 範例

``````string[] fruits = { "apple", "banana", "mango", "orange", "passionfruit", "grape" };

double average = fruits.Average(s => s.Length);

Console.WriteLine("The average string length is {0}.", average);

// This code produces the following output:
//
// The average string length is 6.5.
``````
``````' Create an array of strings.
Dim fruits() As String =
{"apple", "banana", "mango", "orange", "passionfruit", "grape"}

' Determine the average length of the strings in the array.
Dim avg As Double = fruits.Average(Function(s) s.Length)

' Display the output.
Console.WriteLine(\$"The average string length is {avg}")

' This code produces the following output:
'
' The average string length is 6.5
``````

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

``````public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<double> Average(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<long>> ^ selector);``````
``public static Nullable<double> Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,Nullable<long>> selector);``
``static member Average : seq<'Source> * Func<'Source, Nullable<int64>> -> Nullable<double>``
``````<Extension()>
Public Function Average(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Long))) As Nullable(Of Double)``````

#### 類型參數

TSource

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

#### 參數

source
IEnumerable<TSource>

selector
Func<TSource,Nullable<Int64>>

### 範例

``````string[] numbers = { "10007", "37", "299846234235" };

double average = numbers.Average(num => Convert.ToInt64(num));

Console.WriteLine("The average is {0}.", average);

// This code produces the following output:
//
// The average is 99948748093.
``````
``````' Create an array of strings.
Dim numbers() As String = {"10007", "37", "299846234235"}

' Determine the average number after converting each
' string to an Int64 value.
Dim avg As Double =
numbers.Average(Function(number) Convert.ToInt64(number))

' Display the output.
Console.WriteLine(\$"The average is {avg}")

' This code produces the following output:
'
' The average is 99948748093
``````

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

``````public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<double> Average(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<double>> ^ selector);``````
``public static Nullable<double> Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,Nullable<double>> selector);``
``static member Average : seq<'Source> * Func<'Source, Nullable<double>> -> Nullable<double>``
``````<Extension()>
Public Function Average(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`.

### 範例

``````string[] numbers = { "10007", "37", "299846234235" };

double average = numbers.Average(num => Convert.ToInt64(num));

Console.WriteLine("The average is {0}.", average);

// This code produces the following output:
//
// The average is 99948748093.
``````
``````' Create an array of strings.
Dim numbers() As String = {"10007", "37", "299846234235"}

' Determine the average number after converting each
' string to an Int64 value.
Dim avg As Double =
numbers.Average(Function(number) Convert.ToInt64(number))

' Display the output.
Console.WriteLine(\$"The average is {avg}")

' This code produces the following output:
'
' The average is 99948748093
``````

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

``````public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<System::Decimal> Average(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<System::Decimal>> ^ selector);``````
``public static Nullable<decimal> Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,Nullable<decimal>> selector);``
``static member Average : seq<'Source> * Func<'Source, Nullable<decimal>> -> Nullable<decimal>``
``````<Extension()>
Public Function Average(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`.

### 範例

``````string[] numbers = { "10007", "37", "299846234235" };

double average = numbers.Average(num => Convert.ToInt64(num));

Console.WriteLine("The average is {0}.", average);

// This code produces the following output:
//
// The average is 99948748093.
``````
``````' Create an array of strings.
Dim numbers() As String = {"10007", "37", "299846234235"}

' Determine the average number after converting each
' string to an Int64 value.
Dim avg As Double =
numbers.Average(Function(number) Convert.ToInt64(number))

' Display the output.
Console.WriteLine(\$"The average is {avg}")

' This code produces the following output:
'
' The average is 99948748093
``````

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

``````public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static double Average(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, long> ^ selector);``````
``public static double Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long> selector);``
``static member Average : seq<'Source> * Func<'Source, int64> -> double``
``````<Extension()>
Public Function Average(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Long)) As Double``````

TSource

#### 參數

source
IEnumerable<TSource>

selector
Func<TSource,Int64>

#### 例外狀況

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

`source` 沒有包含任何項目。`source` contains no elements.

### 範例

``````string[] numbers = { "10007", "37", "299846234235" };

double average = numbers.Average(num => Convert.ToInt64(num));

Console.WriteLine("The average is {0}.", average);

// This code produces the following output:
//
// The average is 99948748093.
``````
``````' Create an array of strings.
Dim numbers() As String = {"10007", "37", "299846234235"}

' Determine the average number after converting each
' string to an Int64 value.
Dim avg As Double =
numbers.Average(Function(number) Convert.ToInt64(number))

' Display the output.
Console.WriteLine(\$"The average is {avg}")

' This code produces the following output:
'
' The average is 99948748093
``````

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

``````public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static double Average(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, int> ^ selector);``````
``public static double Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int> selector);``
``static member Average : seq<'Source> * Func<'Source, int> -> double``
``````<Extension()>
Public Function Average(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Integer)) As Double``````

#### 類型參數

TSource

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

#### 參數

source
IEnumerable<TSource>

selector
Func<TSource,Int32>

#### 例外狀況

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

`source` 沒有包含任何項目。`source` contains no elements.

### 範例

``````string[] fruits = { "apple", "banana", "mango", "orange", "passionfruit", "grape" };

double average = fruits.Average(s => s.Length);

Console.WriteLine("The average string length is {0}.", average);

// This code produces the following output:
//
// The average string length is 6.5.
``````
``````' Create an array of strings.
Dim fruits() As String =
{"apple", "banana", "mango", "orange", "passionfruit", "grape"}

' Determine the average length of the strings in the array.
Dim avg As Double = fruits.Average(Function(s) s.Length)

' Display the output.
Console.WriteLine(\$"The average string length is {avg}")

' This code produces the following output:
'
' The average string length is 6.5
``````

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

``````public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static double Average(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, double> ^ selector);``````
``public static double Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double> selector);``
``static member Average : seq<'Source> * Func<'Source, double> -> double``
``````<Extension()>
Public Function Average(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`.

`source` 沒有包含任何項目。`source` contains no elements.

### 範例

``````string[] numbers = { "10007", "37", "299846234235" };

double average = numbers.Average(num => Convert.ToInt64(num));

Console.WriteLine("The average is {0}.", average);

// This code produces the following output:
//
// The average is 99948748093.
``````
``````' Create an array of strings.
Dim numbers() As String = {"10007", "37", "299846234235"}

' Determine the average number after converting each
' string to an Int64 value.
Dim avg As Double =
numbers.Average(Function(number) Convert.ToInt64(number))

' Display the output.
Console.WriteLine(\$"The average is {avg}")

' This code produces the following output:
'
' The average is 99948748093
``````

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

``````public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Decimal Average(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, System::Decimal> ^ selector);``````
``public static decimal Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal> selector);``
``static member Average : seq<'Source> * Func<'Source, decimal> -> decimal``
``````<Extension()>
Public Function Average(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`.

`source` 沒有包含任何項目。`source` contains no elements.

### 範例

``````string[] numbers = { "10007", "37", "299846234235" };

double average = numbers.Average(num => Convert.ToInt64(num));

Console.WriteLine("The average is {0}.", average);

// This code produces the following output:
//
// The average is 99948748093.
``````
``````' Create an array of strings.
Dim numbers() As String = {"10007", "37", "299846234235"}

' Determine the average number after converting each
' string to an Int64 value.
Dim avg As Double =
numbers.Average(Function(number) Convert.ToInt64(number))

' Display the output.
Console.WriteLine(\$"The average is {avg}")

' This code produces the following output:
'
' The average is 99948748093
``````