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

Source:
Average.cs
Source:
Average.cs
Source:
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>>)

Source:
Average.cs
Source:
Average.cs
Source:
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>>)

Source:
Average.cs
Source:
Average.cs
Source:
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>>)

Source:
Average.cs
Source:
Average.cs
Source:
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>>)

Source:
Average.cs
Source:
Average.cs
Source:
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>)

Source:
Average.cs
Source:
Average.cs
Source:
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>)

Source:
Average.cs
Source:
Average.cs
Source:
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>)

Source:
Average.cs
Source:
Average.cs
Source:
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>)

Source:
Average.cs
Source:
Average.cs
Source:
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>>)

Source:
Average.cs
Source:
Average.cs
Source:
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>>)

Source:
Average.cs
Source:
Average.cs
Source:
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>)

Source:
Average.cs
Source:
Average.cs
Source:
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>>)

Source:
Average.cs
Source:
Average.cs
Source:
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>>)

Source:
Average.cs
Source:
Average.cs
Source:
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>>)

Source:
Average.cs
Source:
Average.cs
Source:
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>)

Source:
Average.cs
Source:
Average.cs
Source:
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>)

Source:
Average.cs
Source:
Average.cs
Source:
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>)

Source:
Average.cs
Source:
Average.cs
Source:
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>)

Source:
Average.cs
Source:
Average.cs
Source:
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>>)

Source:
Average.cs
Source:
Average.cs
Source:
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

另请参阅

适用于