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

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

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

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

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

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

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

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

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

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

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

入力シーケンスの各要素に対して変換関数を呼び出して取得する 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

例外

source または selectornull です。

シーケンス内の要素の合計が 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>)

入力シーケンスの各要素に対して変換関数を呼び出して取得する 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>

各要素に適用する変換関数。

戻り値

値のシーケンスの平均値。

例外

source または selectornull です。

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

入力シーケンスの各要素に対して変換関数を呼び出して取得する 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>>)

入力シーケンスの各要素に対して変換関数を呼び出して取得する 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

例外

source または selectornull です。

次のコード例では、 を使用 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>>)

入力シーケンスの各要素に対して変換関数を呼び出して取得する 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

例外

source または selectornull です。

次のコード例では、 を使用 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>)

入力シーケンスの各要素に対して変換関数を呼び出して取得する 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 の要素の型。

パラメーター

source
IEnumerable<TSource>

平均値計算の対象となる値のシーケンス。

selector
Func<TSource,Int64>

各要素に適用する変換関数。

戻り値

値のシーケンスの平均値。

例外

source または selectornull です。

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

入力シーケンスの各要素に対して変換関数を呼び出して取得する 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>

各要素に適用する変換関数。

戻り値

値のシーケンスの平均値。

例外

source または selectornull です。

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

入力シーケンスの各要素に対して変換関数を呼び出して取得する 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>

各要素に適用する変換関数。

戻り値

値のシーケンスの平均値。

例外

source または selectornull です。

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

入力シーケンスの各要素に対して変換関数を呼び出して取得する 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>

各要素に適用する変換関数。

戻り値

値のシーケンスの平均値。

例外

source または selectornull です。

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

入力シーケンスの各要素に対して変換関数を呼び出して取得する 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

例外

source または selectornull です。

シーケンス内の要素の合計が 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呼び出しに変換されます。

こちらもご覧ください

適用対象