Enumerable.Max Enumerable.Max Enumerable.Max Enumerable.Max Method

定义

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

重载

Max(IEnumerable<Nullable<Single>>) Max(IEnumerable<Nullable<Single>>) Max(IEnumerable<Nullable<Single>>) Max(IEnumerable<Nullable<Single>>)

返回可以为 null 的 Single 值序列中的最大值。 Returns the maximum value in a sequence of nullable Single values.

Max(IEnumerable<Int32>) Max(IEnumerable<Int32>) Max(IEnumerable<Int32>) Max(IEnumerable<Int32>)

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

Max(IEnumerable<Nullable<Int64>>) Max(IEnumerable<Nullable<Int64>>) Max(IEnumerable<Nullable<Int64>>) Max(IEnumerable<Nullable<Int64>>)

返回可以为 null 的 Int64 值序列中的最大值。 Returns the maximum value in a sequence of nullable Int64 values.

Max(IEnumerable<Single>) Max(IEnumerable<Single>) Max(IEnumerable<Single>) Max(IEnumerable<Single>)

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

Max(IEnumerable<Nullable<Int32>>) Max(IEnumerable<Nullable<Int32>>) Max(IEnumerable<Nullable<Int32>>) Max(IEnumerable<Nullable<Int32>>)

返回可以为 null 的 Int32 值序列中的最大值。 Returns the maximum value in a sequence of nullable Int32 values.

Max(IEnumerable<Decimal>) Max(IEnumerable<Decimal>) Max(IEnumerable<Decimal>) Max(IEnumerable<Decimal>)

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

Max(IEnumerable<Nullable<Decimal>>) Max(IEnumerable<Nullable<Decimal>>) Max(IEnumerable<Nullable<Decimal>>) Max(IEnumerable<Nullable<Decimal>>)

返回可以为 null 的 Decimal 值序列中的最大值。 Returns the maximum value in a sequence of nullable Decimal values.

Max(IEnumerable<Int64>) Max(IEnumerable<Int64>) Max(IEnumerable<Int64>) Max(IEnumerable<Int64>)

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

Max(IEnumerable<Double>) Max(IEnumerable<Double>) Max(IEnumerable<Double>) Max(IEnumerable<Double>)

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

Max(IEnumerable<Nullable<Double>>) Max(IEnumerable<Nullable<Double>>) Max(IEnumerable<Nullable<Double>>) 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>) Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) 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>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) 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>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) 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>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) 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>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) 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>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) 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>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) 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>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 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>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) 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>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) 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>) Max<TSource>(IEnumerable<TSource>) Max<TSource>(IEnumerable<TSource>) Max<TSource>(IEnumerable<TSource>)

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

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) 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>>) Max(IEnumerable<Nullable<Single>>) Max(IEnumerable<Nullable<Single>>) 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 Nullable<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)
参数
source
IEnumerable<Nullable<Single>>

要确定其最大值的可以为 null 的 Single 值序列。 A sequence of nullable Single values to determine the maximum value of.

返回

一个与序列中的最大值相对应的值,该值的类型在 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.

异常

示例

下面的代码示例演示如何使用Max(IEnumerable<Nullable<Double>>)来确定序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Nullable<Double>>) to determine the maximum value in a sequence.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
MsgBox("The largest number is " & max)

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

注解

Max(IEnumerable<Nullable<Single>>)方法使用Single的实现IComparable<T>值进行比较。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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max(IEnumerable<Int32>) Max(IEnumerable<Int32>) Max(IEnumerable<Int32>) 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
参数
source
IEnumerable<Int32>

要确定其最大值的 Int32 值序列。 A sequence of Int32 values to determine the maximum value of.

返回

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

异常

source 中不包含任何元素。 source contains no elements.

示例

下面的代码示例演示如何使用Max(IEnumerable<Int64>)来确定序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Int64>) to determine the maximum value in a sequence.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
MsgBox("The largest number is " & max)

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

注解

Max(IEnumerable<Int32>)方法使用Int32的实现IComparable<T>值进行比较。The Max(IEnumerable<Int32>) method uses the Int32 implementation of IComparable<T> to compare values.

在 Visual Basic 查询表达式语法中,Aggregate Into Max()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max(IEnumerable<Nullable<Int64>>) Max(IEnumerable<Nullable<Int64>>) Max(IEnumerable<Nullable<Int64>>) 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 Nullable<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)
参数
source
IEnumerable<Nullable<Int64>>

要确定其最大值的可以为 null 的 Int64 值序列。 A sequence of nullable Int64 values to determine the maximum value of.

返回

一个与序列中的最大值相对应的值,该值的类型在 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.

异常

示例

下面的代码示例演示如何使用Max(IEnumerable<Nullable<Double>>)来确定序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Nullable<Double>>) to determine the maximum value in a sequence.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
MsgBox("The largest number is " & max)

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

注解

Max(IEnumerable<Nullable<Int64>>)方法使用Int64的实现IComparable<T>值进行比较。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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max(IEnumerable<Single>) Max(IEnumerable<Single>) Max(IEnumerable<Single>) 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
参数
source
IEnumerable<Single>

要确定其最大值的 Single 值序列。 A sequence of Single values to determine the maximum value of.

返回

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

异常

source 中不包含任何元素。 source contains no elements.

示例

下面的代码示例演示如何使用Max(IEnumerable<Int64>)来确定序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Int64>) to determine the maximum value in a sequence.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
MsgBox("The largest number is " & max)

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

注解

Max(IEnumerable<Single>)方法使用Single的实现IComparable<T>值进行比较。The Max(IEnumerable<Single>) method uses the Single implementation of IComparable<T> to compare values.

在 Visual Basic 查询表达式语法中,Aggregate Into Max()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max(IEnumerable<Nullable<Int32>>) Max(IEnumerable<Nullable<Int32>>) Max(IEnumerable<Nullable<Int32>>) 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 Nullable<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)
参数
source
IEnumerable<Nullable<Int32>>

要确定其最大值的可以为 null 的 Int32 值序列。 A sequence of nullable Int32 values to determine the maximum value of.

返回

一个与序列中的最大值相对应的值,该值的类型在 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.

异常

示例

下面的代码示例演示如何使用Max(IEnumerable<Nullable<Double>>)来确定序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Nullable<Double>>) to determine the maximum value in a sequence.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
MsgBox("The largest number is " & max)

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

注解

Max(IEnumerable<Nullable<Int32>>)方法使用Int32的实现IComparable<T>值进行比较。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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max(IEnumerable<Decimal>) Max(IEnumerable<Decimal>) Max(IEnumerable<Decimal>) 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
参数
source
IEnumerable<Decimal>

要确定其最大值的 Decimal 值序列。 A sequence of Decimal values to determine the maximum value of.

返回

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

异常

source 中不包含任何元素。 source contains no elements.

示例

下面的代码示例演示如何使用Max(IEnumerable<Int64>)来确定序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Int64>) to determine the maximum value in a sequence.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
MsgBox("The largest number is " & max)

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

注解

Max(IEnumerable<Decimal>)方法使用Decimal的实现IComparable<T>值进行比较。The Max(IEnumerable<Decimal>) method uses the Decimal implementation of IComparable<T> to compare values.

在 Visual Basic 查询表达式语法中,Aggregate Into Max()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max(IEnumerable<Nullable<Decimal>>) Max(IEnumerable<Nullable<Decimal>>) Max(IEnumerable<Nullable<Decimal>>) 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 Nullable<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)
参数
source
IEnumerable<Nullable<Decimal>>

要确定其最大值的可以为 null 的 Decimal 值序列。 A sequence of nullable Decimal values to determine the maximum value of.

返回

一个与序列中的最大值相对应的值,该值的类型在 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.

异常

示例

下面的代码示例演示如何使用Max(IEnumerable<Nullable<Double>>)来确定序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Nullable<Double>>) to determine the maximum value in a sequence.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
MsgBox("The largest number is " & max)

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

注解

Max(IEnumerable<Nullable<Decimal>>)方法使用Decimal的实现IComparable<T>值进行比较。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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max(IEnumerable<Int64>) Max(IEnumerable<Int64>) Max(IEnumerable<Int64>) 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
参数
source
IEnumerable<Int64>

要确定其最大值的 Int64 值序列。 A sequence of Int64 values to determine the maximum value of.

返回

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

异常

source 中不包含任何元素。 source contains no elements.

示例

下面的代码示例演示如何使用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.
MsgBox("The largest number is " & max)

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

注解

Max(IEnumerable<Int64>)方法使用Int64的实现IComparable<T>值进行比较。The Max(IEnumerable<Int64>) method uses the Int64 implementation of IComparable<T> to compare values.

在 Visual Basic 查询表达式语法中,Aggregate Into Max()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max(IEnumerable<Double>) Max(IEnumerable<Double>) Max(IEnumerable<Double>) 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
参数
source
IEnumerable<Double>

要确定其最大值的 Double 值序列。 A sequence of Double values to determine the maximum value of.

返回

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

异常

source 中不包含任何元素。 source contains no elements.

示例

下面的代码示例演示如何使用Max(IEnumerable<Int64>)来确定序列中的最大值。The following code example demonstrates how to use Max(IEnumerable<Int64>) to determine the maximum value in a sequence.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
MsgBox("The largest number is " & max)

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

注解

Max(IEnumerable<Double>)方法使用Double的实现IComparable<T>值进行比较。The Max(IEnumerable<Double>) method uses the Double implementation of IComparable<T> to compare values.

在 Visual Basic 查询表达式语法中,Aggregate Into Max()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max(IEnumerable<Nullable<Double>>) Max(IEnumerable<Nullable<Double>>) Max(IEnumerable<Nullable<Double>>) 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 Nullable<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)
参数
source
IEnumerable<Nullable<Double>>

要确定其最大值的可以为 null 的 Double 值序列。 A sequence of nullable Double values to determine the maximum value of.

返回

一个与序列中的最大值相对应的值,该值的类型在 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.

异常

示例

下面的代码示例演示如何使用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.
MsgBox("The largest number is " & max)

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

注解

Max(IEnumerable<Nullable<Double>>)方法使用Double的实现IComparable<T>值进行比较。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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) 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
类型参数
TSource

元素的类型 The type of the elements of source.

TResult

返回的值的类型选择器 The type of the value returned by selector.

参数
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.

返回
TResult TResult TResult TResult

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

异常

sourceselectornull source or selector is null.

示例

下面的代码示例演示如何使用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.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
    MsgBox("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

注解

如果类型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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) 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
类型参数
TSource

元素的类型 The type of the elements of source.

参数
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.

返回

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

异常

sourceselectornull source or selector is null.

source 中不包含任何元素。 source contains no elements.

示例

下面的代码示例演示如何使用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.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
    MsgBox("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

注解

Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>)方法使用Single的实现IComparable<T>值进行比较。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) method uses the Single implementation of IComparable<T> to compare values.

如果提供了函数,则可以为任意值的序列应用此方法selector,,它投影的成员source为数值类型,特别是SingleYou 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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) 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 Nullable<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)
类型参数
TSource

元素的类型 The type of the elements of source.

参数
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.

返回

与序列中的最大值相对应的值,该值的类型在 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.

异常

sourceselectornull source or selector is null.

示例

下面的代码示例演示如何使用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.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
    MsgBox("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

注解

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)方法使用Single的实现IComparable<T>值进行比较。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) method uses the Single implementation of IComparable<T> to compare values.

如果提供了函数,则可以为任意值的序列应用此方法selector,,它投影的成员source为数值类型,具体而言Nullable<Single>C# 中或Nullable(Of Single)在 Visual Basic 中。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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) 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 Nullable<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)
类型参数
TSource

元素的类型 The type of the elements of source.

参数
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.

返回

与序列中的最大值相对应的值,该值的类型在 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.

异常

sourceselectornull source or selector is null.

示例

下面的代码示例演示如何使用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.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
    MsgBox("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

注解

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)方法使用Int64的实现IComparable<T>值进行比较。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) method uses the Int64 implementation of IComparable<T> to compare values.

如果提供了函数,则可以为任意值的序列应用此方法selector,,它投影的成员source为数值类型,具体而言Nullable<Int64>C# 中或Nullable(Of Int64)在 Visual Basic 中。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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) 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 Nullable<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)
类型参数
TSource

元素的类型 The type of the elements of source.

参数
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.

返回

与序列中的最大值相对应的值,该值的类型在 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.

异常

sourceselectornull source or selector is null.

示例

下面的代码示例演示如何使用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.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
    MsgBox("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

注解

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)方法使用Int32的实现IComparable<T>值进行比较。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) method uses the Int32 implementation of IComparable<T> to compare values.

如果提供了函数,则可以为任意值的序列应用此方法selector,,它投影的成员source为数值类型,具体而言Nullable<Int32>C# 中或Nullable(Of Int32)在 Visual Basic 中。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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) 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 Nullable<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)
类型参数
TSource

元素的类型 The type of the elements of source.

参数
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.

返回

与序列中的最大值相对应的值,该值的类型在 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.

异常

sourceselectornull source or selector is null.

示例

下面的代码示例演示如何使用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.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
    MsgBox("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

注解

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)方法使用Double的实现IComparable<T>值进行比较。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) method uses the Double implementation of IComparable<T> to compare values.

如果提供了函数,则可以为任意值的序列应用此方法selector,,它投影的成员source为数值类型,具体而言Nullable<Double>C# 中或Nullable(Of Double)在 Visual Basic 中。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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) 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
类型参数
TSource

元素的类型 The type of the elements of source.

参数
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.

返回

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

异常

sourceselectornull source or selector is null.

source 中不包含任何元素。 source contains no elements.

示例

下面的代码示例演示如何使用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.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
    MsgBox("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

注解

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)方法使用Int64的实现IComparable<T>值进行比较。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) method uses the Int64 implementation of IComparable<T> to compare values.

如果提供了函数,则可以为任意值的序列应用此方法selector,,它投影的成员source为数值类型,特别是Int64You 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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) 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
类型参数
TSource

元素的类型 The type of the elements of source.

参数
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.

返回

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

异常

sourceselectornull source or selector is null.

source 中不包含任何元素。 source contains no elements.

示例

下面的代码示例演示如何使用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.
    MsgBox("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

注解

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)方法使用Int32的实现IComparable<T>值进行比较。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) method uses the Int32 implementation of IComparable<T> to compare values.

如果提供了函数,则可以为任意值的序列应用此方法selector,,它投影的成员source为数值类型,特别是Int32You 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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) 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
类型参数
TSource

元素的类型 The type of the elements of source.

参数
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.

返回

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

异常

sourceselectornull source or selector is null.

source 中不包含任何元素。 source contains no elements.

示例

下面的代码示例演示如何使用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.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
    MsgBox("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

注解

Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>)方法使用Double的实现IComparable<T>值进行比较。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) method uses the Double implementation of IComparable<T> to compare values.

如果提供了函数,则可以为任意值的序列应用此方法selector,,它投影的成员source为数值类型,特别是DoubleYou 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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) 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
类型参数
TSource

元素的类型 The type of the elements of source.

参数
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.

返回

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

异常

sourceselectornull source or selector is null.

source 中不包含任何元素。 source contains no elements.

示例

下面的代码示例演示如何使用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.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
    MsgBox("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

注解

Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)方法使用Decimal的实现IComparable<T>值进行比较。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) method uses the Decimal implementation of IComparable<T> to compare values.

如果提供了函数,则可以为任意值的序列应用此方法selector,,它投影的成员source为数值类型,特别是DecimalYou 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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max<TSource>(IEnumerable<TSource>) Max<TSource>(IEnumerable<TSource>) Max<TSource>(IEnumerable<TSource>) 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
类型参数
TSource

元素的类型 The type of the elements of source.

参数
source
IEnumerable<TSource>

要确定其最大值的值序列。 A sequence of values to determine the maximum value of.

返回
TSource TSource TSource TSource

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

异常

示例

下面的代码示例演示如何使用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.
    MsgBox("The 'maximum' animal is " & max.Name)
End Sub

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

注解

如果类型TSource实现IComparable<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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) 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 Nullable<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)
类型参数
TSource

元素的类型 The type of the elements of source.

参数
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.

返回

与序列中的最大值相对应的值,该值的类型在 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.

异常

sourceselectornull source or selector is null.

示例

下面的代码示例演示如何使用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.

备注

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。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.
    MsgBox("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

注解

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)方法使用Decimal的实现IComparable<T>值进行比较。The Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) method uses the Decimal implementation of IComparable<T> to compare values.

如果提供了函数,则可以为任意值的序列应用此方法selector,,它投影的成员source为数值类型,具体而言Nullable<Decimal>C# 中或Nullable(Of Decimal)在 Visual Basic 中。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()子句转换为调用MaxIn Visual Basic query expression syntax, an Aggregate Into Max() clause translates to an invocation of Max.

另请参阅

适用于