Enumerable.Max Method

Definition

傳回值序列中的最大值。Returns the maximum value in a sequence of values.

Overloads

Max(IEnumerable<Nullable<Single>>)

傳回可為 Null 之 Single 值序列中的最大值。Returns the maximum value in a sequence of nullable Single values.

Max(IEnumerable<Int32>)

傳回 Int32 值序列中的最大值。Returns the maximum value in a sequence of Int32 values.

Max(IEnumerable<Nullable<Int64>>)

傳回可為 Null 之 Int64 值序列中的最大值。Returns the maximum value in a sequence of nullable Int64 values.

Max(IEnumerable<Single>)

傳回 Single 值序列中的最大值。Returns the maximum value in a sequence of Single values.

Max(IEnumerable<Nullable<Int32>>)

傳回可為 Null 之 Int32 值序列中的最大值。Returns the maximum value in a sequence of nullable Int32 values.

Max(IEnumerable<Decimal>)

傳回 Decimal 值序列中的最大值。Returns the maximum value in a sequence of Decimal values.

Max(IEnumerable<Nullable<Decimal>>)

傳回可為 Null 之 Decimal 值序列中的最大值。Returns the maximum value in a sequence of nullable Decimal values.

Max(IEnumerable<Int64>)

傳回 Int64 值序列中的最大值。Returns the maximum value in a sequence of Int64 values.

Max(IEnumerable<Double>)

傳回 Double 值序列中的最大值。Returns the maximum value in a sequence of Double values.

Max(IEnumerable<Nullable<Double>>)

傳回可為 Null 之 Double 值序列中的最大值。Returns the maximum value in a sequence of nullable Double values.

Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

在泛型序列的每個項目上叫用轉換函式,並傳回最大的結果值。Invokes a transform function on each element of a generic sequence and returns the maximum resulting value.

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

在序列的每個項目上叫用轉換函式,並傳回最大的 Single 值。Invokes a transform function on each element of a sequence and returns the maximum Single value.

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

在序列的每個項目上叫用轉換函式,並傳回最大的可為 Null 之 Single 值。Invokes a transform function on each element of a sequence and returns the maximum nullable Single value.

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

在序列的每個項目上叫用轉換函式,並傳回最大的可為 Null 之 Int64 值。Invokes a transform function on each element of a sequence and returns the maximum nullable Int64 value.

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

在序列的每個項目上叫用轉換函式,並傳回最大的可為 Null 之 Int32 值。Invokes a transform function on each element of a sequence and returns the maximum nullable Int32 value.

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

在序列的每個項目上叫用轉換函式,並傳回最大的可為 Null 之 Double 值。Invokes a transform function on each element of a sequence and returns the maximum nullable Double value.

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

在序列的每個項目上叫用轉換函式,並傳回最大的 Int64 值。Invokes a transform function on each element of a sequence and returns the maximum Int64 value.

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

在序列的每個項目上叫用轉換函式,並傳回最大的 Int32 值。Invokes a transform function on each element of a sequence and returns the maximum Int32 value.

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

在序列的每個項目上叫用轉換函式,並傳回最大的 Double 值。Invokes a transform function on each element of a sequence and returns the maximum Double value.

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

在序列的每個項目上叫用轉換函式,並傳回最大的 Decimal 值。Invokes a transform function on each element of a sequence and returns the maximum Decimal value.

Max<TSource>(IEnumerable<TSource>)

傳回泛型序列中的最大值。Returns the maximum value in a generic sequence.

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

在序列的每個項目上叫用轉換函式,並傳回最大的可為 Null 之 Decimal 值。Invokes a transform function on each element of a sequence and returns the maximum nullable Decimal value.

Max(IEnumerable<Nullable<Single>>)

傳回可為 Null 之 Single 值序列中的最大值。Returns the maximum value in a sequence of nullable Single values.

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

Parameters

source
IEnumerable<Nullable<Single>>

要判斷最大值之可為 Null 的 Single 值序列。A sequence of nullable Single values to determine the maximum value of.

Returns

Nullable<Single>

C# 中類型為 Nullable<Single> 或 Visual Basic 中類型為 Nullable(Of Single) 的值,其對應於序列中的最大值。A value of type Nullable<Single> in C# or Nullable(Of Single) in Visual Basic that corresponds to the maximum value in the sequence.

Exceptions

sourcenullsource is null.

Examples

下列程式碼範例示範如何使用 Max(IEnumerable<Nullable<Double>>) 來判斷序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Nullable<Double>>) to determine the maximum value in a sequence.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要擴充範例以符合本主題內容,請以具有適當數值類型的項目取代來源序列的項目。To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

double?[] doubles = { null, 1.5E+104, 9E+103, -2E+103 };

double? max = doubles.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 1.5E+104.
*/
' Create an array of Nullable Double values.
Dim doubles() As Nullable(Of Double) =
{Nothing, 1.5E+104, 9.0E+103, -2.0E+103}

' Determine the maximum value in the array.
Dim max As Nullable(Of Double) = doubles.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 1.5E+104

Remarks

Max(IEnumerable<Nullable<Single>>) 方法會使用 IComparable<T>Single 執行來比較值。The Max(IEnumerable<Nullable<Single>>) method uses the Single implementation of IComparable<T> to compare values.

如果來源序列是空的或只包含 null的值,此函數會傳回 nullIf the source sequence is empty or contains only values that are null, this function returns null.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

Max(IEnumerable<Int32>)

傳回 Int32 值序列中的最大值。Returns the maximum value in a sequence of Int32 values.

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

Parameters

source
IEnumerable<Int32>

要判斷最大值的 Int32 值序列。A sequence of Int32 values to determine the maximum value of.

Returns

Int32

序列中的最大值。The maximum value in the sequence.

Exceptions

sourcenullsource is null.

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

Examples

下列程式碼範例示範如何使用 Max(IEnumerable<Int64>) 來判斷序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Int64>) to determine the maximum value in a sequence.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要擴充範例以符合本主題內容,請以具有適當數值類型的項目取代來源序列的項目。To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

List<long> longs = new List<long> { 4294967296L, 466855135L, 81125L };

long max = longs.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 4294967296.
*/
' Create a list of Long values.
Dim longs As New List(Of Long)(New Long() _
                           {4294967296L, 466855135L, 81125L})

' Get the maximum value in the list.
Dim max As Long = longs.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 4294967296

Remarks

Max(IEnumerable<Int32>) 方法會使用 IComparable<T>Int32 執行來比較值。The Max(IEnumerable<Int32>) method uses the Int32 implementation of IComparable<T> to compare values.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

Max(IEnumerable<Nullable<Int64>>)

傳回可為 Null 之 Int64 值序列中的最大值。Returns the maximum value in a sequence of nullable Int64 values.

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

Parameters

source
IEnumerable<Nullable<Int64>>

要判斷最大值之可為 Null 的 Int64 值序列。A sequence of nullable Int64 values to determine the maximum value of.

Returns

Nullable<Int64>

C# 中類型為 Nullable<Int64> 或 Visual Basic 中類型為 Nullable(Of Int64) 的值,其對應於序列中的最大值。A value of type Nullable<Int64> in C# or Nullable(Of Int64) in Visual Basic that corresponds to the maximum value in the sequence.

Exceptions

sourcenullsource is null.

Examples

下列程式碼範例示範如何使用 Max(IEnumerable<Nullable<Double>>) 來判斷序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Nullable<Double>>) to determine the maximum value in a sequence.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要擴充範例以符合本主題內容,請以具有適當數值類型的項目取代來源序列的項目。To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

double?[] doubles = { null, 1.5E+104, 9E+103, -2E+103 };

double? max = doubles.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 1.5E+104.
*/
' Create an array of Nullable Double values.
Dim doubles() As Nullable(Of Double) =
{Nothing, 1.5E+104, 9.0E+103, -2.0E+103}

' Determine the maximum value in the array.
Dim max As Nullable(Of Double) = doubles.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 1.5E+104

Remarks

Max(IEnumerable<Nullable<Int64>>) 方法會使用 IComparable<T>Int64 執行來比較值。The Max(IEnumerable<Nullable<Int64>>) method uses the Int64 implementation of IComparable<T> to compare values.

如果來源序列是空的或只包含 null的值,此函數會傳回 nullIf the source sequence is empty or contains only values that are null, this function returns null.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

Max(IEnumerable<Single>)

傳回 Single 值序列中的最大值。Returns the maximum value in a sequence of Single values.

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

Parameters

source
IEnumerable<Single>

要判斷最大值的 Single 值序列。A sequence of Single values to determine the maximum value of.

Returns

Single

序列中的最大值。The maximum value in the sequence.

Exceptions

sourcenullsource is null.

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

Examples

下列程式碼範例示範如何使用 Max(IEnumerable<Int64>) 來判斷序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Int64>) to determine the maximum value in a sequence.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要擴充範例以符合本主題內容,請以具有適當數值類型的項目取代來源序列的項目。To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

List<long> longs = new List<long> { 4294967296L, 466855135L, 81125L };

long max = longs.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 4294967296.
*/
' Create a list of Long values.
Dim longs As New List(Of Long)(New Long() _
                           {4294967296L, 466855135L, 81125L})

' Get the maximum value in the list.
Dim max As Long = longs.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 4294967296

Remarks

Max(IEnumerable<Single>) 方法會使用 IComparable<T>Single 執行來比較值。The Max(IEnumerable<Single>) method uses the Single implementation of IComparable<T> to compare values.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

Max(IEnumerable<Nullable<Int32>>)

傳回可為 Null 之 Int32 值序列中的最大值。Returns the maximum value in a sequence of nullable Int32 values.

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

Parameters

source
IEnumerable<Nullable<Int32>>

要判斷最大值之可為 Null 的 Int32 值序列。A sequence of nullable Int32 values to determine the maximum value of.

Returns

Nullable<Int32>

C# 中類型為 Nullable<Int32> 或 Visual Basic 中類型為 Nullable(Of Int32) 的值,其對應於序列中的最大值。A value of type Nullable<Int32> in C# or Nullable(Of Int32) in Visual Basic that corresponds to the maximum value in the sequence.

Exceptions

sourcenullsource is null.

Examples

下列程式碼範例示範如何使用 Max(IEnumerable<Nullable<Double>>) 來判斷序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Nullable<Double>>) to determine the maximum value in a sequence.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要擴充範例以符合本主題內容,請以具有適當數值類型的項目取代來源序列的項目。To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

double?[] doubles = { null, 1.5E+104, 9E+103, -2E+103 };

double? max = doubles.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 1.5E+104.
*/
' Create an array of Nullable Double values.
Dim doubles() As Nullable(Of Double) =
{Nothing, 1.5E+104, 9.0E+103, -2.0E+103}

' Determine the maximum value in the array.
Dim max As Nullable(Of Double) = doubles.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 1.5E+104

Remarks

Max(IEnumerable<Nullable<Int32>>) 方法會使用 IComparable<T>Int32 執行來比較值。The Max(IEnumerable<Nullable<Int32>>) method uses the Int32 implementation of IComparable<T> to compare values.

如果來源序列是空的或只包含 null的值,此函數會傳回 nullIf the source sequence is empty or contains only values that are null, this function returns null.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

Max(IEnumerable<Decimal>)

傳回 Decimal 值序列中的最大值。Returns the maximum value in a sequence of Decimal values.

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

Parameters

source
IEnumerable<Decimal>

要判斷最大值的 Decimal 值序列。A sequence of Decimal values to determine the maximum value of.

Returns

Decimal

序列中的最大值。The maximum value in the sequence.

Exceptions

sourcenullsource is null.

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

Examples

下列程式碼範例示範如何使用 Max(IEnumerable<Int64>) 來判斷序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Int64>) to determine the maximum value in a sequence.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要擴充範例以符合本主題內容,請以具有適當數值類型的項目取代來源序列的項目。To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

List<long> longs = new List<long> { 4294967296L, 466855135L, 81125L };

long max = longs.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 4294967296.
*/
' Create a list of Long values.
Dim longs As New List(Of Long)(New Long() _
                           {4294967296L, 466855135L, 81125L})

' Get the maximum value in the list.
Dim max As Long = longs.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 4294967296

Remarks

Max(IEnumerable<Decimal>) 方法會使用 IComparable<T>Decimal 執行來比較值。The Max(IEnumerable<Decimal>) method uses the Decimal implementation of IComparable<T> to compare values.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

Max(IEnumerable<Nullable<Decimal>>)

傳回可為 Null 之 Decimal 值序列中的最大值。Returns the maximum value in a sequence of nullable Decimal values.

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

Parameters

source
IEnumerable<Nullable<Decimal>>

要判斷最大值之可為 Null 的 Decimal 值序列。A sequence of nullable Decimal values to determine the maximum value of.

Returns

Nullable<Decimal>

C# 中類型為 Nullable<Decimal> 或 Visual Basic 中類型為 Nullable(Of Decimal) 的值,其對應於序列中的最大值。A value of type Nullable<Decimal> in C# or Nullable(Of Decimal) in Visual Basic that corresponds to the maximum value in the sequence.

Exceptions

sourcenullsource is null.

Examples

下列程式碼範例示範如何使用 Max(IEnumerable<Nullable<Double>>) 來判斷序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Nullable<Double>>) to determine the maximum value in a sequence.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要擴充範例以符合本主題內容,請以具有適當數值類型的項目取代來源序列的項目。To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

double?[] doubles = { null, 1.5E+104, 9E+103, -2E+103 };

double? max = doubles.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 1.5E+104.
*/
' Create an array of Nullable Double values.
Dim doubles() As Nullable(Of Double) =
{Nothing, 1.5E+104, 9.0E+103, -2.0E+103}

' Determine the maximum value in the array.
Dim max As Nullable(Of Double) = doubles.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 1.5E+104

Remarks

Max(IEnumerable<Nullable<Decimal>>) 方法會使用 IComparable<T>Decimal 執行來比較值。The Max(IEnumerable<Nullable<Decimal>>) method uses the Decimal implementation of IComparable<T> to compare values.

如果來源序列是空的或只包含 null的值,此函數會傳回 nullIf the source sequence is empty or contains only values that are null, this function returns null.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

Max(IEnumerable<Int64>)

傳回 Int64 值序列中的最大值。Returns the maximum value in a sequence of Int64 values.

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

Parameters

source
IEnumerable<Int64>

要判斷最大值的 Int64 值序列。A sequence of Int64 values to determine the maximum value of.

Returns

Int64

序列中的最大值。The maximum value in the sequence.

Exceptions

sourcenullsource is null.

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

Examples

下列程式碼範例示範如何使用 Max(IEnumerable<Int64>) 來判斷序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Int64>) to determine the maximum value in a sequence.

List<long> longs = new List<long> { 4294967296L, 466855135L, 81125L };

long max = longs.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 4294967296.
*/
' Create a list of Long values.
Dim longs As New List(Of Long)(New Long() _
                           {4294967296L, 466855135L, 81125L})

' Get the maximum value in the list.
Dim max As Long = longs.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 4294967296

Remarks

Max(IEnumerable<Int64>) 方法會使用 IComparable<T>Int64 執行來比較值。The Max(IEnumerable<Int64>) method uses the Int64 implementation of IComparable<T> to compare values.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

Max(IEnumerable<Double>)

傳回 Double 值序列中的最大值。Returns the maximum value in a sequence of Double values.

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

Parameters

source
IEnumerable<Double>

要判斷最大值的 Double 值序列。A sequence of Double values to determine the maximum value of.

Returns

Double

序列中的最大值。The maximum value in the sequence.

Exceptions

sourcenullsource is null.

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

Examples

下列程式碼範例示範如何使用 Max(IEnumerable<Int64>) 來判斷序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Int64>) to determine the maximum value in a sequence.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要擴充範例以符合本主題內容,請以具有適當數值類型的項目取代來源序列的項目。To extend the example to this topic, substitute the elements of the source sequence with elements of the appropriate numerical type.

List<long> longs = new List<long> { 4294967296L, 466855135L, 81125L };

long max = longs.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 4294967296.
*/
' Create a list of Long values.
Dim longs As New List(Of Long)(New Long() _
                           {4294967296L, 466855135L, 81125L})

' Get the maximum value in the list.
Dim max As Long = longs.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 4294967296

Remarks

Max(IEnumerable<Double>) 方法會使用 IComparable<T>Double 執行來比較值。The Max(IEnumerable<Double>) method uses the Double implementation of IComparable<T> to compare values.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

Max(IEnumerable<Nullable<Double>>)

傳回可為 Null 之 Double 值序列中的最大值。Returns the maximum value in a sequence of nullable Double values.

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

Parameters

source
IEnumerable<Nullable<Double>>

要判斷最大值之可為 Null 的 Double 值序列。A sequence of nullable Double values to determine the maximum value of.

Returns

Nullable<Double>

C# 中類型為 Nullable<Double> 或 Visual Basic 中類型為 Nullable(Of Double) 的值,其對應於序列中的最大值。A value of type Nullable<Double> in C# or Nullable(Of Double) in Visual Basic that corresponds to the maximum value in the sequence.

Exceptions

sourcenullsource is null.

Examples

下列程式碼範例示範如何使用 Max(IEnumerable<Nullable<Double>>) 來判斷序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Nullable<Double>>) to determine the maximum value in a sequence.

double?[] doubles = { null, 1.5E+104, 9E+103, -2E+103 };

double? max = doubles.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 1.5E+104.
*/
' Create an array of Nullable Double values.
Dim doubles() As Nullable(Of Double) =
{Nothing, 1.5E+104, 9.0E+103, -2.0E+103}

' Determine the maximum value in the array.
Dim max As Nullable(Of Double) = doubles.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 1.5E+104

Remarks

Max(IEnumerable<Nullable<Double>>) 方法會使用 IComparable<T>Double 執行來比較值。The Max(IEnumerable<Nullable<Double>>) method uses the Double implementation of IComparable<T> to compare values.

如果來源序列是空的或只包含 null的值,此函數會傳回 nullIf the source sequence is empty or contains only values that are null, this function returns null.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

在泛型序列的每個項目上叫用轉換函式,並傳回最大的結果值。Invokes a transform function on each element of a generic sequence and returns the maximum resulting value.

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

Type Parameters

TSource

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

TResult

selector 所傳回值的型別。The type of the value returned by selector.

Parameters

source
IEnumerable<TSource>

要判斷最大值的值序列。A sequence of values to determine the maximum value of.

selector
Func<TSource,TResult>

要套用至每個項目的轉換函式。A transform function to apply to each element.

Returns

TResult

序列中的最大值。The maximum value in the sequence.

Exceptions

sourceselectornullsource or selector is null.

Examples

下列程式碼範例示範如何使用 Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來判斷一系列預計值的最大值。The following code example demonstrates how to use Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) to determine the maximum value in a sequence of projected values.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要將此範例延伸到本主題中使用,請變更 selector 函式的主體。To extend the example to this topic, change the body of the selector function.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.Max(pet => pet.Age + pet.Name.Length);

    Console.WriteLine(
        "The maximum pet age plus name length is {0}.",
        max);
}

/*
 This code produces the following output:

 The maximum pet age plus name length is 14.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarks

如果類型 TResult 會實 IComparable<T>,這個方法會使用該執行來比較值。If type TResult implements IComparable<T>, this method uses that implementation to compare values. 否則,如果類型 TResult 會執行 IComparable,則會使用該實作為比較值。Otherwise, if type TResult implements IComparable, that implementation is used to compare values.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

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

在序列的每個項目上叫用轉換函式,並傳回最大的 Single 值。Invokes a transform function on each element of a sequence and returns the maximum Single value.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static float Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, float> ^ selector);
public static float Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float> selector);
static member Max : seq<'Source> * Func<'Source, single> -> single
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Single)) As Single

Type Parameters

TSource

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

Parameters

source
IEnumerable<TSource>

要判斷最大值的值序列。A sequence of values to determine the maximum value of.

selector
Func<TSource,Single>

要套用至每個項目的轉換函式。A transform function to apply to each element.

Returns

Single

序列中的最大值。The maximum value in the sequence.

Exceptions

sourceselectornullsource or selector is null.

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

Examples

下列程式碼範例示範如何使用 Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來判斷一系列預計值的最大值。The following code example demonstrates how to use Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) to determine the maximum value in a sequence of projected values.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要將此範例延伸到本主題中使用,請變更 selector 函式的主體。To extend the example to this topic, change the body of the selector function.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.Max(pet => pet.Age + pet.Name.Length);

    Console.WriteLine(
        "The maximum pet age plus name length is {0}.",
        max);
}

/*
 This code produces the following output:

 The maximum pet age plus name length is 14.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarks

Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) 方法會使用 IComparable<T>Single 執行來比較值。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) method uses the Single implementation of IComparable<T> to compare values.

如果您提供 selector的函式,將 source 的成員投射至數數值型別(特別是 Single),則可以將此方法套用至任意值的序列。You can apply this method to a sequence of arbitrary values if you provide a function, selector, that projects the members of source into a numeric type, specifically Single.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

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

在序列的每個項目上叫用轉換函式,並傳回最大的可為 Null 之 Single 值。Invokes a transform function on each element of a sequence and returns the maximum nullable Single value.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<float> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<float>> ^ selector);
public static float? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,Nullable<float>> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Single))) As Nullable(Of Single)

Type Parameters

TSource

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

Parameters

source
IEnumerable<TSource>

要判斷最大值的值序列。A sequence of values to determine the maximum value of.

selector
Func<TSource,Nullable<Single>>

要套用至每個項目的轉換函式。A transform function to apply to each element.

Returns

Nullable<Single>

C# 中類型為 Nullable<Single> 或 Visual Basic 中類型為 Nullable(Of Single) 的值,其對應於序列中的最大值。The value of type Nullable<Single> in C# or Nullable(Of Single) in Visual Basic that corresponds to the maximum value in the sequence.

Exceptions

sourceselectornullsource or selector is null.

Examples

下列程式碼範例示範如何使用 Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來判斷一系列預計值的最大值。The following code example demonstrates how to use Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) to determine the maximum value in a sequence of projected values.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要將此範例延伸到本主題中使用,請變更 selector 函式的主體。To extend the example to this topic, change the body of the selector function.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.Max(pet => pet.Age + pet.Name.Length);

    Console.WriteLine(
        "The maximum pet age plus name length is {0}.",
        max);
}

/*
 This code produces the following output:

 The maximum pet age plus name length is 14.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarks

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) 方法會使用 IComparable<T>Single 執行來比較值。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) method uses the Single implementation of IComparable<T> to compare values.

如果您提供 selector的函式,將 source 的成員投射到數數值型別中,特別是在C# Visual Basic 中 Nullable<Single>Nullable(Of Single),您可以將此方法套用至任意值的序列。You can apply this method to a sequence of arbitrary values if you provide a function, selector, that projects the members of source into a numeric type, specifically Nullable<Single> in C# or Nullable(Of Single) in Visual Basic.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

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

在序列的每個項目上叫用轉換函式,並傳回最大的可為 Null 之 Int64 值。Invokes a transform function on each element of a sequence and returns the maximum nullable Int64 value.

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

Type Parameters

TSource

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

Parameters

source
IEnumerable<TSource>

要判斷最大值的值序列。A sequence of values to determine the maximum value of.

selector
Func<TSource,Nullable<Int64>>

要套用至每個項目的轉換函式。A transform function to apply to each element.

Returns

Nullable<Int64>

C# 中類型為 Nullable<Int64> 或 Visual Basic 中類型為 Nullable(Of Int64) 的值,其對應於序列中的最大值。The value of type Nullable<Int64> in C# or Nullable(Of Int64) in Visual Basic that corresponds to the maximum value in the sequence.

Exceptions

sourceselectornullsource or selector is null.

Examples

下列程式碼範例示範如何使用 Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來判斷一系列預計值的最大值。The following code example demonstrates how to use Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) to determine the maximum value in a sequence of projected values.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要將此範例延伸到本主題中使用,請變更 selector 函式的主體。To extend the example to this topic, change the body of the selector function.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.Max(pet => pet.Age + pet.Name.Length);

    Console.WriteLine(
        "The maximum pet age plus name length is {0}.",
        max);
}

/*
 This code produces the following output:

 The maximum pet age plus name length is 14.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarks

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) 方法會使用 IComparable<T>Int64 執行來比較值。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) method uses the Int64 implementation of IComparable<T> to compare values.

如果您提供 selector的函式,將 source 的成員投射到數數值型別中,特別是在C# Visual Basic 中 Nullable<Int64>Nullable(Of Int64),您可以將此方法套用至任意值的序列。You can apply this method to a sequence of arbitrary values if you provide a function, selector, that projects the members of source into a numeric type, specifically Nullable<Int64> in C# or Nullable(Of Int64) in Visual Basic.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

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

在序列的每個項目上叫用轉換函式,並傳回最大的可為 Null 之 Int32 值。Invokes a transform function on each element of a sequence and returns the maximum nullable Int32 value.

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

Type Parameters

TSource

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

Parameters

source
IEnumerable<TSource>

要判斷最大值的值序列。A sequence of values to determine the maximum value of.

selector
Func<TSource,Nullable<Int32>>

要套用至每個項目的轉換函式。A transform function to apply to each element.

Returns

Nullable<Int32>

C# 中類型為 Nullable<Int32> 或 Visual Basic 中類型為 Nullable(Of Int32) 的值,其對應於序列中的最大值。The value of type Nullable<Int32> in C# or Nullable(Of Int32) in Visual Basic that corresponds to the maximum value in the sequence.

Exceptions

sourceselectornullsource or selector is null.

Examples

下列程式碼範例示範如何使用 Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來判斷一系列預計值的最大值。The following code example demonstrates how to use Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) to determine the maximum value in a sequence of projected values.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要將此範例延伸到本主題中使用,請變更 selector 函式的主體。To extend the example to this topic, change the body of the selector function.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.Max(pet => pet.Age + pet.Name.Length);

    Console.WriteLine(
        "The maximum pet age plus name length is {0}.",
        max);
}

/*
 This code produces the following output:

 The maximum pet age plus name length is 14.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarks

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) 方法會使用 IComparable<T>Int32 執行來比較值。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) method uses the Int32 implementation of IComparable<T> to compare values.

如果您提供 selector的函式,將 source 的成員投射到數數值型別中,特別是在C# Visual Basic 中 Nullable<Int32>Nullable(Of Int32),您可以將此方法套用至任意值的序列。You can apply this method to a sequence of arbitrary values if you provide a function, selector, that projects the members of source into a numeric type, specifically Nullable<Int32> in C# or Nullable(Of Int32) in Visual Basic.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

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

在序列的每個項目上叫用轉換函式,並傳回最大的可為 Null 之 Double 值。Invokes a transform function on each element of a sequence and returns the maximum nullable Double value.

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

Type Parameters

TSource

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

Parameters

source
IEnumerable<TSource>

要判斷最大值的值序列。A sequence of values to determine the maximum value of.

selector
Func<TSource,Nullable<Double>>

要套用至每個項目的轉換函式。A transform function to apply to each element.

Returns

Nullable<Double>

C# 中類型為 Nullable<Double> 或 Visual Basic 中類型為 Nullable(Of Double) 的值,其對應於序列中的最大值。The value of type Nullable<Double> in C# or Nullable(Of Double) in Visual Basic that corresponds to the maximum value in the sequence.

Exceptions

sourceselectornullsource or selector is null.

Examples

下列程式碼範例示範如何使用 Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來判斷一系列預計值的最大值。The following code example demonstrates how to use Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) to determine the maximum value in a sequence of projected values.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要將此範例延伸到本主題中使用,請變更 selector 函式的主體。To extend the example to this topic, change the body of the selector function.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.Max(pet => pet.Age + pet.Name.Length);

    Console.WriteLine(
        "The maximum pet age plus name length is {0}.",
        max);
}

/*
 This code produces the following output:

 The maximum pet age plus name length is 14.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarks

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) 方法會使用 IComparable<T>Double 執行來比較值。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) method uses the Double implementation of IComparable<T> to compare values.

如果您提供 selector的函式,將 source 的成員投射到數數值型別中,特別是在C# Visual Basic 中 Nullable<Double>Nullable(Of Double),您可以將此方法套用至任意值的序列。You can apply this method to a sequence of arbitrary values if you provide a function, selector, that projects the members of source into a numeric type, specifically Nullable<Double> in C# or Nullable(Of Double) in Visual Basic.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

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

在序列的每個項目上叫用轉換函式,並傳回最大的 Int64 值。Invokes a transform function on each element of a sequence and returns the maximum Int64 value.

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

Type Parameters

TSource

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

Parameters

source
IEnumerable<TSource>

要判斷最大值的值序列。A sequence of values to determine the maximum value of.

selector
Func<TSource,Int64>

要套用至每個項目的轉換函式。A transform function to apply to each element.

Returns

Int64

序列中的最大值。The maximum value in the sequence.

Exceptions

sourceselectornullsource or selector is null.

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

Examples

下列程式碼範例示範如何使用 Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來判斷一系列預計值的最大值。The following code example demonstrates how to use Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) to determine the maximum value in a sequence of projected values.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要將此範例延伸到本主題中使用,請變更 selector 函式的主體。To extend the example to this topic, change the body of the selector function.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.Max(pet => pet.Age + pet.Name.Length);

    Console.WriteLine(
        "The maximum pet age plus name length is {0}.",
        max);
}

/*
 This code produces the following output:

 The maximum pet age plus name length is 14.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarks

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) 方法會使用 IComparable<T>Int64 執行來比較值。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) method uses the Int64 implementation of IComparable<T> to compare values.

如果您提供 selector的函式,將 source 的成員投射至數數值型別(特別是 Int64),則可以將此方法套用至任意值的序列。You can apply this method to a sequence of arbitrary values if you provide a function, selector, that projects the members of source into a numeric type, specifically Int64.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

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

在序列的每個項目上叫用轉換函式,並傳回最大的 Int32 值。Invokes a transform function on each element of a sequence and returns the maximum Int32 value.

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

Type Parameters

TSource

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

Parameters

source
IEnumerable<TSource>

要判斷最大值的值序列。A sequence of values to determine the maximum value of.

selector
Func<TSource,Int32>

要套用至每個項目的轉換函式。A transform function to apply to each element.

Returns

Int32

序列中的最大值。The maximum value in the sequence.

Exceptions

sourceselectornullsource or selector is null.

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

Examples

下列程式碼範例示範如何使用 Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來判斷一系列預計值的最大值。The following code example demonstrates how to use Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) to determine the maximum value in a sequence of projected values.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.Max(pet => pet.Age + pet.Name.Length);

    Console.WriteLine(
        "The maximum pet age plus name length is {0}.",
        max);
}

/*
 This code produces the following output:

 The maximum pet age plus name length is 14.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarks

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 方法會使用 IComparable<T>Int32 執行來比較值。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) method uses the Int32 implementation of IComparable<T> to compare values.

如果您提供 selector的函式,將 source 的成員投射至數數值型別(特別是 Int32),則可以將此方法套用至任意值的序列。You can apply this method to a sequence of arbitrary values if you provide a function, selector, that projects the members of source into a numeric type, specifically Int32.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

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

在序列的每個項目上叫用轉換函式,並傳回最大的 Double 值。Invokes a transform function on each element of a sequence and returns the maximum Double value.

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

Type Parameters

TSource

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

Parameters

source
IEnumerable<TSource>

要判斷最大值的值序列。A sequence of values to determine the maximum value of.

selector
Func<TSource,Double>

要套用至每個項目的轉換函式。A transform function to apply to each element.

Returns

Double

序列中的最大值。The maximum value in the sequence.

Exceptions

sourceselectornullsource or selector is null.

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

Examples

下列程式碼範例示範如何使用 Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來判斷一系列預計值的最大值。The following code example demonstrates how to use Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) to determine the maximum value in a sequence of projected values.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要將此範例延伸到本主題中使用,請變更 selector 函式的主體。To extend the example to this topic, change the body of the selector function.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.Max(pet => pet.Age + pet.Name.Length);

    Console.WriteLine(
        "The maximum pet age plus name length is {0}.",
        max);
}

/*
 This code produces the following output:

 The maximum pet age plus name length is 14.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarks

Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) 方法會使用 IComparable<T>Double 執行來比較值。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) method uses the Double implementation of IComparable<T> to compare values.

如果您提供 selector的函式,將 source 的成員投射至數數值型別(特別是 Double),則可以將此方法套用至任意值的序列。You can apply this method to a sequence of arbitrary values if you provide a function, selector, that projects the members of source into a numeric type, specifically Double.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

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

在序列的每個項目上叫用轉換函式,並傳回最大的 Decimal 值。Invokes a transform function on each element of a sequence and returns the maximum Decimal value.

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

Type Parameters

TSource

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

Parameters

source
IEnumerable<TSource>

要判斷最大值的值序列。A sequence of values to determine the maximum value of.

selector
Func<TSource,Decimal>

要套用至每個項目的轉換函式。A transform function to apply to each element.

Returns

Decimal

序列中的最大值。The maximum value in the sequence.

Exceptions

sourceselectornullsource or selector is null.

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

Examples

下列程式碼範例示範如何使用 Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來判斷一系列預計值的最大值。The following code example demonstrates how to use Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) to determine the maximum value in a sequence of projected values.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要將此範例延伸到本主題中使用,請變更 selector 函式的主體。To extend the example to this topic, change the body of the selector function.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.Max(pet => pet.Age + pet.Name.Length);

    Console.WriteLine(
        "The maximum pet age plus name length is {0}.",
        max);
}

/*
 This code produces the following output:

 The maximum pet age plus name length is 14.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarks

Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) 方法會使用 IComparable<T>Decimal 執行來比較值。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) method uses the Decimal implementation of IComparable<T> to compare values.

如果您提供 selector的函式,將 source 的成員投射至數數值型別(特別是 Decimal),則可以將此方法套用至任意值的序列。You can apply this method to a sequence of arbitrary values if you provide a function, selector, that projects the members of source into a numeric type, specifically Decimal.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

Max<TSource>(IEnumerable<TSource>)

傳回泛型序列中的最大值。Returns the maximum value in a generic sequence.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static TSource Max(System::Collections::Generic::IEnumerable<TSource> ^ source);
public static TSource Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);
static member Max : seq<'Source> -> 'Source
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource)) As TSource

Type Parameters

TSource

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

Parameters

source
IEnumerable<TSource>

要判斷最大值的值序列。A sequence of values to determine the maximum value of.

Returns

TSource

序列中的最大值。The maximum value in the sequence.

Exceptions

sourcenullsource is null.

source 中沒有任何物件實作 IComparableIComparable<T> 介面。No object in source implements the IComparable or IComparable<T> interface.

Examples

下列程式碼範例示範如何使用 Max<TSource>(IEnumerable<TSource>) 來判斷 IComparable<T> 物件序列中的最大值。The following code example demonstrates how to use Max<TSource>(IEnumerable<TSource>) to determine the maximum value in a sequence of IComparable<T> objects.

/// <summary>
/// This class implements IComparable to be able to
/// compare one Pet to another Pet.
/// </summary>
class Pet : IComparable<Pet>
{
    public string Name { get; set; }
    public int Age { get; set; }

    /// <summary>
    /// Compares this Pet to another Pet by
    /// summing each Pet's age and name length.
    /// </summary>
    /// <param name="other">The Pet to compare this Pet to.</param>
    /// <returns>-1 if this Pet is 'less' than the other Pet,
    /// 0 if they are equal,
    /// or 1 if this Pet is 'greater' than the other Pet.</returns>
    int IComparable<Pet>.CompareTo(Pet other)
    {
        int sumOther = other.Age + other.Name.Length;
        int sumThis = this.Age + this.Name.Length;

        if (sumOther > sumThis)
            return -1;
        else if (sumOther == sumThis)
            return 0;
        else
            return 1;
    }
}

public static void MaxEx3()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    Pet max = pets.Max();

    Console.WriteLine(
        "The 'maximum' animal is {0}.",
        max.Name);
}

/*
 This code produces the following output:

 The 'maximum' animal is Barley.
*/
' This class implements IComparable 
' and has a custom 'CompareTo' implementation.
Class Pet
    Implements IComparable(Of Pet)

    Public Name As String
    Public Age As Integer

    ''' <summary>
    ''' Compares Pet objects by the sum of their age and name length.
    ''' </summary>
    ''' <param name="other">The Pet to compare this Pet to.</param>
    ''' <returns>-1 if this Pet's sum is 'less' than the other Pet,
    ''' 0 if they are equal,
    ''' or 1 if this Pet's sum is 'greater' than the other Pet.</returns>
    Function CompareTo(ByVal other As Pet) As Integer _
    Implements IComparable(Of Pet).CompareTo

        If (other.Age + other.Name.Length > Me.Age + Me.Name.Length) Then
            Return -1
        ElseIf (other.Age + other.Name.Length = Me.Age + Me.Name.Length) Then
            Return 0
        Else
            Return 1
        End If
    End Function
End Class

Sub MaxEx3()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Find the "maximum" pet according to the 
    ' custom CompareTo() implementation.
    Dim max As Pet = pets.Max()

    ' Display the result.
    Console.WriteLine($"The 'maximum' animal is {max.Name}")
End Sub

' This code produces the following output:
'
' The 'maximum' animal is Barley

Remarks

如果類型 TSourceIComparable<T>Max<TSource>(IEnumerable<TSource>) 方法會使用該執行來比較值。If type TSource implements IComparable<T>, the Max<TSource>(IEnumerable<TSource>) method uses that implementation to compare values. 否則,如果類型 TSource 會執行 IComparable,則會使用該實作為比較值。Otherwise, if type TSource implements IComparable, that implementation is used to compare values.

如果 TSource 是參考型別,而來源序列是空的或只包含 null的值,則這個方法會傳回 nullIf TSource is a reference type and the source sequence is empty or contains only values that are null, this method returns null.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

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

在序列的每個項目上叫用轉換函式,並傳回最大的可為 Null 之 Decimal 值。Invokes a transform function on each element of a sequence and returns the maximum nullable Decimal value.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<System::Decimal> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<System::Decimal>> ^ selector);
public static decimal? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,Nullable<decimal>> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Decimal))) As Nullable(Of Decimal)

Type Parameters

TSource

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

Parameters

source
IEnumerable<TSource>

要判斷最大值的值序列。A sequence of values to determine the maximum value of.

selector
Func<TSource,Nullable<Decimal>>

要套用至每個項目的轉換函式。A transform function to apply to each element.

Returns

Nullable<Decimal>

C# 中類型為 Nullable<Decimal> 或 Visual Basic 中類型為 Nullable(Of Decimal) 的值,其對應於序列中的最大值。The value of type Nullable<Decimal> in C# or Nullable(Of Decimal) in Visual Basic that corresponds to the maximum value in the sequence.

Exceptions

sourceselectornullsource or selector is null.

Examples

下列程式碼範例示範如何使用 Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 來判斷一系列預計值的最大值。The following code example demonstrates how to use Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) to determine the maximum value in a sequence of projected values.

Note

這個程式碼範例會使用此多載方法的多載,這個多載不是本主題描述的特定多載。This code example uses an overload of this overloaded method that is different from the specific overload that this topic describes. 若要將此範例延伸到本主題中使用,請變更 selector 函式的主體。To extend the example to this topic, change the body of the selector function.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.Max(pet => pet.Age + pet.Name.Length);

    Console.WriteLine(
        "The maximum pet age plus name length is {0}.",
        max);
}

/*
 This code produces the following output:

 The maximum pet age plus name length is 14.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Sub MaxEx4()
    ' Create an array of Pet objects.
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
                     New Pet With {.Name = "Boots", .Age = 4},
                     New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Remarks

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) 方法會使用 IComparable<T>Decimal 執行來比較值。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) method uses the Decimal implementation of IComparable<T> to compare values.

如果您提供 selector的函式,將 source 的成員投射到數數值型別中,特別是在C# Visual Basic 中 Nullable<Decimal>Nullable(Of Decimal),您可以將此方法套用至任意值的序列。You can apply this method to a sequence of arbitrary values if you provide a function, selector, that projects the members of source into a numeric type, specifically Nullable<Decimal> in C# or Nullable(Of Decimal) in Visual Basic.

在 Visual Basic 查詢運算式語法中,Aggregate Into Max() 子句會轉譯為 Max的調用。In Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

See also

Applies to