共用方式為


Enumerable.Average 方法

定義

計算數值序列的平均值。

多載

Average(IEnumerable<Single>)

計算 Single 值序列的平均值。

Average(IEnumerable<Nullable<Single>>)

計算可為 Null 之 Single 值序列的平均值。

Average(IEnumerable<Nullable<Int64>>)

計算可為 Null 之 Int64 值序列的平均值。

Average(IEnumerable<Nullable<Int32>>)

計算可為 Null 之 Int32 值序列的平均值。

Average(IEnumerable<Nullable<Double>>)

計算可為 Null 之 Double 值序列的平均值。

Average(IEnumerable<Double>)

計算 Double 值序列的平均值。

Average(IEnumerable<Int64>)

計算 Int64 值序列的平均值。

Average(IEnumerable<Int32>)

計算 Int32 值序列的平均值。

Average(IEnumerable<Decimal>)

計算 Decimal 值序列的平均值。

Average(IEnumerable<Nullable<Decimal>>)

計算可為 Null 之 Decimal 值序列的平均值。

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

計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 Int32 值的平均值。

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

計算在輸入序列中各項目上叫用轉換函式後所取得之 Single 值序列的平均值。

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

計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 Int64 值的平均值。

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

計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 Double 值的平均值。

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

計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 Single 值的平均值。

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

計算在輸入序列中各項目上叫用轉換函式後所取得之 Int64 值序列的平均值。

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

計算在輸入序列中各項目上叫用轉換函式後所取得之 Int32 值序列的平均值。

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

計算在輸入序列中各項目上叫用轉換函式後所取得之 Double 值序列的平均值。

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

計算在輸入序列中各項目上叫用轉換函式後所取得之 Decimal 值序列的平均值。

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

計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 Decimal 值的平均值。

Average(IEnumerable<Single>)

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算 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>

要計算平均值的 Single 值序列。

傳回

值序列的平均。

例外狀況

sourcenull

source 沒有包含任何項目。

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

Average(IEnumerable<Nullable<Single>>)

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算可為 Null 之 Single 值序列的平均值。

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

要計算其平均值的可為 Null 之 Single 值的序列。

傳回

值序列的平均值,或者,如果來源序列是空的或只包含 null 值,則為 null

例外狀況

sourcenull

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

Average(IEnumerable<Nullable<Int64>>)

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算可為 Null 之 Int64 值序列的平均值。

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

要計算其平均值的可為 Null 之 Int64 值的序列。

傳回

值序列的平均值,或者,如果來源序列是空的或只包含 null 值,則為 null

例外狀況

sourcenull

序列中專案的總和大於 Int64.MaxValue

範例

下列程式代碼範例示範如何使用 Average(IEnumerable<Nullable<Int64>>) 來計算平均值。

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

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

Average(IEnumerable<Nullable<Int32>>)

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算可為 Null 之 Int32 值序列的平均值。

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

要計算其平均值的可為 Null 之 Int32 值的序列。

傳回

值序列的平均值,或者,如果來源序列是空的或只包含 null 值,則為 null

例外狀況

sourcenull

序列中專案的總和大於 Int64.MaxValue

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

Average(IEnumerable<Nullable<Double>>)

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算可為 Null 之 Double 值序列的平均值。

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

要計算其平均值的可為 Null 之 Double 值的序列。

傳回

值序列的平均值,或者,如果來源序列是空的或只包含 null 值,則為 null

例外狀況

sourcenull

備註

如果專案的總和太大而無法表示為 Double,這個方法會傳回正數或負無限大。

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

Average(IEnumerable<Double>)

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算 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>

要計算平均值的 Double 值序列。

傳回

值序列的平均。

例外狀況

sourcenull

source 沒有包含任何項目。

備註

如果專案的總和太大而無法表示為 Double,這個方法會傳回正數或負無限大。

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

Average(IEnumerable<Int64>)

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算 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>

要計算平均值的 Int64 值序列。

傳回

值序列的平均。

例外狀況

sourcenull

source 沒有包含任何項目。

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

Average(IEnumerable<Int32>)

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算 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>

要計算平均值的 Int32 值序列。

傳回

值序列的平均。

例外狀況

sourcenull

source 沒有包含任何項目。

範例

下列程式代碼範例示範如何使用 Average(IEnumerable<Int32>) 來計算平均值。

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

double average = grades.Average();

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.
Console.WriteLine($"The average grade is {avg}")

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

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

Average(IEnumerable<Decimal>)

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算 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>

要計算平均值的 Decimal 值序列。

傳回

值序列的平均。

例外狀況

sourcenull

source 沒有包含任何項目。

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

Average(IEnumerable<Nullable<Decimal>>)

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算可為 Null 之 Decimal 值序列的平均值。

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

要計算其平均值的可為 Null 之 Decimal 值的序列。

傳回

值序列的平均值,或者,如果來源序列是空的或只包含 null 值,則為 null

例外狀況

sourcenull

序列中專案的總和大於 Decimal.MaxValue

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

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

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 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 double? Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,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 項目的類型。

參數

source
IEnumerable<TSource>

要計算平均值的值序列。

selector
Func<TSource,Nullable<Int32>>

要套用至每個項目的轉換函式。

傳回

值序列的平均值,或者,如果來源序列是空的或只包含 null 值,則為 null

例外狀況

sourceselectornull

序列中專案的總和大於 Int64.MaxValue

範例

下列程式代碼範例示範如何使用 Average<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來計算平均值。

注意

此程式代碼範例會使用與本文所描述之特定多載不同的 方法多載。 若要將範例擴充至本文所描述的多載,請變更函式的 selector 主體。

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

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

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

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算在輸入序列中各項目上叫用轉換函式後所取得之 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 項目的類型。

參數

source
IEnumerable<TSource>

要計算平均值的值序列。

selector
Func<TSource,Single>

要套用至每個項目的轉換函式。

傳回

值序列的平均。

例外狀況

sourceselectornull

source 沒有包含任何項目。

範例

下列程式代碼範例示範如何使用 Average<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來計算平均值。

注意

此程式代碼範例會使用與本文所描述之特定多載不同的 方法多載。 若要將範例擴充至本文所描述的多載,請變更函式的 selector 主體。

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

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

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

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 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 double? Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,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 項目的類型。

參數

source
IEnumerable<TSource>

要計算平均值的值序列。

selector
Func<TSource,Nullable<Int64>>

要套用至每個項目的轉換函式。

傳回

值序列的平均值,或者,如果來源序列是空的或只包含 null 值,則為 null

範例

下列程式代碼範例示範如何使用 Average<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) 來計算平均值。

注意

此程式代碼範例會使用與本文所描述之特定多載不同的 方法多載。 若要將範例擴充至本文所描述的多載,請變更函式的 selector 主體。

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

double average = numbers.Average(num => long.Parse(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

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

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

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 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 double? Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,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 項目的類型。

參數

source
IEnumerable<TSource>

要計算平均值的值序列。

selector
Func<TSource,Nullable<Double>>

要套用至每個項目的轉換函式。

傳回

值序列的平均值,或者,如果來源序列是空的或只包含 null 值,則為 null

例外狀況

sourceselectornull

範例

下列程式代碼範例示範如何使用 Average<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) 來計算平均值。

注意

此程式代碼範例會使用與本文所描述之特定多載不同的 方法多載。 若要將範例擴充至本文所描述的多載,請變更函式的 selector 主體。

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

double average = numbers.Average(num => long.Parse(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

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

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

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 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 float? Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,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 項目的類型。

參數

source
IEnumerable<TSource>

要計算平均值的值序列。

selector
Func<TSource,Nullable<Single>>

要套用至每個項目的轉換函式。

傳回

值序列的平均值,或者,如果來源序列是空的或只包含 null 值,則為 null

例外狀況

sourceselectornull

範例

下列程式代碼範例示範如何使用 Average<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來計算平均值。

注意

此程式代碼範例會使用與本文所描述之特定多載不同的 方法多載。 若要將範例擴充至本文所描述的多載,請變更函式的 selector 主體。

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

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

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

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算在輸入序列中各項目上叫用轉換函式後所取得之 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>

要套用至每個項目的轉換函式。

傳回

值序列的平均。

例外狀況

sourceselectornull

source 沒有包含任何項目。

序列中專案的總和大於 Int64.MaxValue

範例

下列程式代碼範例示範如何使用 Average<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) 來計算平均值。

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

double average = numbers.Average(num => long.Parse(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

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

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

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算在輸入序列中各項目上叫用轉換函式後所取得之 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 項目的類型。

參數

source
IEnumerable<TSource>

要計算平均值的值序列。

selector
Func<TSource,Int32>

要套用至每個項目的轉換函式。

傳回

值序列的平均。

例外狀況

sourceselectornull

source 沒有包含任何項目。

序列中專案的總和大於 Int64.MaxValue

範例

下列程式代碼範例示範如何使用 Average<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來計算平均值。

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

備註

在 Visual Basic 查詢表達式語法中, Aggregate Into Average() 子句會轉譯為的 Average調用。

另請參閱

適用於

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

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算在輸入序列中各項目上叫用轉換函式後所取得之 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 項目的類型。

參數

source
IEnumerable<TSource>

要計算平均值的值序列。

selector
Func<TSource,Double>

要套用至每個項目的轉換函式。

傳回

值序列的平均。

例外狀況

sourceselectornull

source 沒有包含任何項目。

範例

下列程式代碼範例示範如何使用 Average<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) 來計算平均值。

注意

此程式代碼範例使用方法的多載,與本文描述的特定多載不同。 若要將範例延伸至本文所描述的多載,請變更函 selector 式的主體。

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

double average = numbers.Average(num => long.Parse(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

備註

在 Visual Basic 查詢表達式語法中 Aggregate Into Average() ,子句會轉譯為的 Average調用。

另請參閱

適用於

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

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算在輸入序列中各項目上叫用轉換函式後所取得之 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 項目的類型。

參數

source
IEnumerable<TSource>

用來計算平均值的值序列。

selector
Func<TSource,Decimal>

要套用至每個項目的轉換函式。

傳回

值序列的平均。

例外狀況

sourceselectornull

source 沒有包含任何項目。

序列中元素的總和大於 Decimal.MaxValue

範例

下列程式代碼範例示範如何使用 Average<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) 來計算平均值。

注意

此程式代碼範例使用方法的多載,與本文描述的特定多載不同。 若要將範例延伸至本文所描述的多載,請變更函 selector 式的主體。

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

double average = numbers.Average(num => long.Parse(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

備註

在 Visual Basic 查詢表達式語法中 Aggregate Into Average() ,子句會轉譯為的 Average調用。

另請參閱

適用於

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

來源:
Average.cs
來源:
Average.cs
來源:
Average.cs

計算在輸入序列中各項目上叫用轉換函式後所取得可為 Null 之 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 decimal? Average<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,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 項目的類型。

參數

source
IEnumerable<TSource>

要計算平均值的值序列。

selector
Func<TSource,Nullable<Decimal>>

要套用至每個項目的轉換函式。

傳回

值序列的平均值,或者,如果來源序列是空的或只包含 null 值,則為 null

例外狀況

sourceselectornull

序列中元素的總和大於 Decimal.MaxValue

範例

下列程式代碼範例示範如何使用 Average<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) 來計算平均值。

注意

此程式代碼範例使用方法的多載,與本文描述的特定多載不同。 若要將範例延伸至本文所描述的多載,請變更函 selector 式的主體。

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

double average = numbers.Average(num => long.Parse(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

備註

在 Visual Basic 查詢表達式語法中 Aggregate Into Average() ,子句會轉譯為的 Average調用。

另請參閱

適用於