Enumerable.Max Метод

Определение

Возвращает максимальное значение, содержащееся в последовательности значений.

Перегрузки

Max(IEnumerable<Nullable<Int32>>)

Возвращает максимальное значение в последовательности значений Int32 обнуляемого типа.

Max(IEnumerable<Single>)

Возвращает максимальное значение, содержащееся в последовательности значений типа Single.

Max(IEnumerable<Nullable<Single>>)

Возвращает максимальное значение в последовательности значений Single обнуляемого типа.

Max(IEnumerable<Nullable<Int64>>)

Возвращает максимальное значение в последовательности значений Int64 обнуляемого типа.

Max(IEnumerable<Nullable<Double>>)

Возвращает максимальное значение в последовательности значений Double обнуляемого типа.

Max(IEnumerable<Double>)

Возвращает максимальное значение, содержащееся в последовательности значений типа Double.

Max(IEnumerable<Int64>)

Возвращает максимальное значение, содержащееся в последовательности значений типа Int64.

Max(IEnumerable<Int32>)

Возвращает максимальное значение, содержащееся в последовательности значений типа Int32.

Max(IEnumerable<Decimal>)

Возвращает максимальное значение, содержащееся в последовательности значений типа Decimal.

Max(IEnumerable<Nullable<Decimal>>)

Возвращает максимальное значение в последовательности значений Decimal обнуляемого типа.

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

Вызывает функцию преобразования для каждого элемента универсальной последовательности и возвращает максимальное результирующее значение.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Single.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Single обнуляемого типа.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Int64 обнуляемого типа.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Int32 обнуляемого типа.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Decimal обнуляемого типа.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Double обнуляемого типа.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Int32.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Double.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Decimal.

Max<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Возвращает максимальное значение, содержащееся в универсальной последовательности.

Max<TSource>(IEnumerable<TSource>)

Возвращает максимальное значение, содержащееся в универсальной последовательности.

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

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Int64.

Max(IEnumerable<Nullable<Int32>>)

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Возвращает максимальное значение в последовательности значений Int32 обнуляемого типа.

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

Последовательность значений Int32 обнуляемого типа, для которой определяется максимальное значение.

Возвращаемое значение

Значение типа Nullable<Int32> в C# или Nullable(Of Int32) Visual Basic, соответствующее максимальному значению в последовательности.

Исключения

source имеет значение null.

Комментарии

Метод Max(IEnumerable<Nullable<Int32>>) использует реализацию Int32 для сравнения значений IComparable<T> .

Если исходная последовательность пуста или содержит только значения , nullэта функция возвращает null.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

Max(IEnumerable<Single>)

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Возвращает максимальное значение, содержащееся в последовательности значений типа Single.

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, для которой определяется максимальное значение.

Возвращаемое значение

Максимальное значение в последовательности.

Исключения

source имеет значение null.

Последовательность source не содержит элементов.

Комментарии

Метод Max(IEnumerable<Single>) использует реализацию Single для сравнения значений IComparable<T> .

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

Max(IEnumerable<Nullable<Single>>)

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Возвращает максимальное значение в последовательности значений Single обнуляемого типа.

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

Последовательность значений Single обнуляемого типа, для которой определяется максимальное значение.

Возвращаемое значение

Значение типа Nullable<Single> в C# или Nullable(Of Single) Visual Basic, соответствующее максимальному значению в последовательности.

Исключения

source имеет значение null.

Комментарии

Метод Max(IEnumerable<Nullable<Single>>) использует реализацию Single для сравнения значений IComparable<T> .

Если исходная последовательность пуста или содержит только значения , nullэта функция возвращает null.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

Max(IEnumerable<Nullable<Int64>>)

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Возвращает максимальное значение в последовательности значений Int64 обнуляемого типа.

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

Последовательность значений Int64 обнуляемого типа, для которой определяется максимальное значение.

Возвращаемое значение

Значение типа Nullable<Int64> в C# или Nullable(Of Int64) Visual Basic, соответствующее максимальному значению в последовательности.

Исключения

source имеет значение null.

Комментарии

Метод Max(IEnumerable<Nullable<Int64>>) использует реализацию Int64 для сравнения значений IComparable<T> .

Если исходная последовательность пуста или содержит только значения , nullэта функция возвращает null.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

Max(IEnumerable<Nullable<Double>>)

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Возвращает максимальное значение в последовательности значений Double обнуляемого типа.

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

Последовательность значений Double обнуляемого типа, для которой определяется максимальное значение.

Возвращаемое значение

Значение типа Nullable<Double> в C# или Nullable(Of Double) Visual Basic, соответствующее максимальному значению в последовательности.

Исключения

source имеет значение null.

Примеры

В следующем примере кода показано, как использовать Max(IEnumerable<Nullable<Double>>) для определения максимального значения в последовательности.

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

Комментарии

Метод Max(IEnumerable<Nullable<Double>>) использует реализацию Double для сравнения значений IComparable<T> .

Если исходная последовательность пуста или содержит только значения , nullэта функция возвращает null.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

Max(IEnumerable<Double>)

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Возвращает максимальное значение, содержащееся в последовательности значений типа Double.

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, для которой определяется максимальное значение.

Возвращаемое значение

Максимальное значение в последовательности.

Исключения

source имеет значение null.

Последовательность source не содержит элементов.

Комментарии

Метод Max(IEnumerable<Double>) использует реализацию Double для сравнения значений IComparable<T> .

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

Max(IEnumerable<Int64>)

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Возвращает максимальное значение, содержащееся в последовательности значений типа Int64.

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, для которой определяется максимальное значение.

Возвращаемое значение

Максимальное значение в последовательности.

Исключения

source имеет значение null.

Последовательность source не содержит элементов.

Примеры

В следующем примере кода показано, как использовать Max(IEnumerable<Int64>) для определения максимального значения в последовательности.

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

Комментарии

Метод Max(IEnumerable<Int64>) использует реализацию Int64 для сравнения значений IComparable<T> .

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

Max(IEnumerable<Int32>)

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Возвращает максимальное значение, содержащееся в последовательности значений типа Int32.

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, для которой определяется максимальное значение.

Возвращаемое значение

Максимальное значение в последовательности.

Исключения

source имеет значение null.

Последовательность source не содержит элементов.

Комментарии

Метод Max(IEnumerable<Int32>) использует реализацию Int32 для сравнения значений IComparable<T> .

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

Max(IEnumerable<Decimal>)

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Возвращает максимальное значение, содержащееся в последовательности значений типа Decimal.

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, для которой определяется максимальное значение.

Возвращаемое значение

Максимальное значение в последовательности.

Исключения

source имеет значение null.

Последовательность source не содержит элементов.

Комментарии

Метод Max(IEnumerable<Decimal>) использует реализацию Decimal для сравнения значений IComparable<T> .

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

Max(IEnumerable<Nullable<Decimal>>)

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Возвращает максимальное значение в последовательности значений Decimal обнуляемого типа.

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

Последовательность значений Decimal обнуляемого типа, для которой определяется максимальное значение.

Возвращаемое значение

Значение типа Nullable<Decimal> в C# или Nullable(Of Decimal) Visual Basic, соответствующее максимальному значению в последовательности.

Исключения

source имеет значение null.

Комментарии

Метод Max(IEnumerable<Nullable<Decimal>>) использует реализацию Decimal для сравнения значений IComparable<T> .

Если исходная последовательность пуста или содержит только значения , nullэта функция возвращает null.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

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

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Вызывает функцию преобразования для каждого элемента универсальной последовательности и возвращает максимальное результирующее значение.

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

Тип элементов source.

TResult

Тип значения, возвращаемого функцией selector.

Параметры

source
IEnumerable<TSource>

Последовательность значений, для которой определяется максимальное значение.

selector
Func<TSource,TResult>

Функция преобразования, применяемая к каждому элементу.

Возвращаемое значение

TResult

Максимальное значение в последовательности.

Исключения

Параметр source или selector имеет значение null.

Примеры

В следующем примере кода показано, как использовать Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) для определения максимального значения в последовательности проецируемых значений.

Примечание

В этом примере кода используется перегрузка метода , отличающаяся от конкретной перегрузки, описанной в этой статье. Чтобы расширить пример до перегрузки, описанной в этой статье, измените selector текст функции.

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

Комментарии

Если тип TResult реализует IComparable<T>, этот метод использует эту реализацию для сравнения значений. В противном случае, если тип TResult реализует IComparable, эта реализация используется для сравнения значений.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

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

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Single.

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

Тип элементов source.

Параметры

source
IEnumerable<TSource>

Последовательность значений, для которой определяется максимальное значение.

selector
Func<TSource,Single>

Функция преобразования, применяемая к каждому элементу.

Возвращаемое значение

Максимальное значение в последовательности.

Исключения

Параметр source или selector имеет значение null.

Последовательность source не содержит элементов.

Примеры

В следующем примере кода показано, как использовать Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) для определения максимального значения в последовательности проецируемых значений.

Примечание

В этом примере кода используется перегрузка метода , отличающаяся от конкретной перегрузки, описанной в этой статье. Чтобы расширить пример до перегрузки, описанной в этой статье, измените selector текст функции.

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

Комментарии

Метод Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) использует реализацию Single для сравнения значений IComparable<T> .

Этот метод можно применить к последовательности произвольных значений, если предоставить функцию , selectorкоторая проецировать члены source в числовой тип, в частности Single.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

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

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Single обнуляемого типа.

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

Тип элементов source.

Параметры

source
IEnumerable<TSource>

Последовательность значений, для которой определяется максимальное значение.

selector
Func<TSource,Nullable<Single>>

Функция преобразования, применяемая к каждому элементу.

Возвращаемое значение

Значение, соответствующее максимальному значению в последовательности.

Исключения

Параметр source или selector имеет значение null.

Примеры

В следующем примере кода показано, как использовать Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) для определения максимального значения в последовательности проецируемых значений.

Примечание

В этом примере кода используется перегрузка метода , отличающаяся от конкретной перегрузки, описанной в этой статье. Чтобы расширить пример до перегрузки, описанной в этой статье, измените selector текст функции.

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

Комментарии

Метод Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) использует реализацию Single для сравнения значений IComparable<T> .

Этот метод можно применить к последовательности произвольных значений, если вы предоставляете функцию , selectorкоторая проецировать члены source в числовой тип, в частности Nullable<Single> в C# или Nullable(Of Single) в Visual Basic.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

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

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Int64 обнуляемого типа.

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

Тип элементов source.

Параметры

source
IEnumerable<TSource>

Последовательность значений, для которой определяется максимальное значение.

selector
Func<TSource,Nullable<Int64>>

Функция преобразования, применяемая к каждому элементу.

Возвращаемое значение

Значение, соответствующее максимальному значению в последовательности.

Исключения

Параметр source или selector имеет значение null.

Примеры

В следующем примере кода показано, как использовать Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) для определения максимального значения в последовательности проецируемых значений.

Примечание

В этом примере кода используется перегрузка метода , отличающаяся от конкретной перегрузки, описанной в этой статье. Чтобы расширить пример до перегрузки, описанной в этой статье, измените selector текст функции.

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

Комментарии

Метод Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) использует реализацию Int64 для сравнения значений IComparable<T> .

Этот метод можно применить к последовательности произвольных значений, если вы предоставляете функцию , selectorкоторая проецировать члены source в числовой тип, в частности Nullable<Int64> в C# или Nullable(Of Int64) в Visual Basic.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

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

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Int32 обнуляемого типа.

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

Тип элементов source.

Параметры

source
IEnumerable<TSource>

Последовательность значений, для которой определяется максимальное значение.

selector
Func<TSource,Nullable<Int32>>

Функция преобразования, применяемая к каждому элементу.

Возвращаемое значение

Значение типа Nullable<Int32> в C# или Nullable(Of Int32) Visual Basic, соответствующее максимальному значению в последовательности.

Исключения

Параметр source или selector имеет значение null.

Примеры

В следующем примере кода показано, как использовать Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) для определения максимального значения в последовательности проецируемых значений.

Примечание

В этом примере кода используется перегрузка метода , отличающаяся от конкретной перегрузки, описанной в этой статье. Чтобы расширить пример до перегрузки, описанной в этой статье, измените selector текст функции.

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

Комментарии

Метод Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) использует реализацию Int32 для сравнения значений IComparable<T> .

Этот метод можно применить к последовательности произвольных значений, если вы предоставляете функцию , selectorкоторая проецировать члены source в числовой тип, в частности Nullable<Int32> в C# или Nullable(Of Int32) в Visual Basic.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

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

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Decimal обнуляемого типа.

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

Тип элементов source.

Параметры

source
IEnumerable<TSource>

Последовательность значений, для которой определяется максимальное значение.

selector
Func<TSource,Nullable<Decimal>>

Функция преобразования, применяемая к каждому элементу.

Возвращаемое значение

Значение типа Nullable<Decimal> в C# или Nullable(Of Decimal) Visual Basic, соответствующее максимальному значению в последовательности.

Исключения

Параметр source или selector имеет значение null.

Примеры

В следующем примере кода показано, как использовать Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) для определения максимального значения в последовательности проецируемых значений.

Примечание

В этом примере кода используется перегрузка метода , отличающаяся от конкретной перегрузки, описанной в этой статье. Чтобы расширить пример до перегрузки, описанной в этой статье, измените selector текст функции.

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

Комментарии

Метод Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) использует реализацию Decimal для сравнения значений IComparable<T> .

Этот метод можно применить к последовательности произвольных значений, если предоставить функцию , selectorкоторая проецировать члены source в числовой тип, в частности Nullable<Decimal> в C# или Nullable(Of Decimal) в Visual Basic.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

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

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение Double обнуляемого типа.

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

Тип элементов source.

Параметры

source
IEnumerable<TSource>

Последовательность значений, для которой определяется максимальное значение.

selector
Func<TSource,Nullable<Double>>

Функция преобразования, применяемая к каждому элементу.

Возвращаемое значение

Значение типа Nullable<Double> в C# или Nullable(Of Double) Visual Basic, соответствующее максимальному значению в последовательности.

Исключения

Параметр source или selector имеет значение null.

Примеры

В следующем примере кода показано, как использовать Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) для определения максимального значения в последовательности проецируемых значений.

Примечание

В этом примере кода используется перегрузка метода , отличающаяся от конкретной перегрузки, описанной в этой статье. Чтобы расширить пример до перегрузки, описанной в этой статье, измените selector текст функции.

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

Комментарии

Метод Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) использует реализацию Double для сравнения значений IComparable<T> .

Этот метод можно применить к последовательности произвольных значений, если предоставить функцию , selectorкоторая проецировать члены source в числовой тип, в частности Nullable<Double> в C# или Nullable(Of Double) в Visual Basic.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

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

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Int32.

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

Тип элементов source.

Параметры

source
IEnumerable<TSource>

Последовательность значений, для которой определяется максимальное значение.

selector
Func<TSource,Int32>

Функция преобразования, применяемая к каждому элементу.

Возвращаемое значение

Максимальное значение в последовательности.

Исключения

Параметр source или selector имеет значение null.

Последовательность source не содержит элементов.

Примеры

В следующем примере кода показано, как использовать Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) для определения максимального значения в последовательности проецируемых значений.

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

Комментарии

Метод Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) использует реализацию Int32 для сравнения значений IComparable<T> .

Этот метод можно применить к последовательности произвольных значений, если предоставить функцию , selectorкоторая проецировать члены source в числовой тип, в частности Int32.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

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

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Double.

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

Тип элементов source.

Параметры

source
IEnumerable<TSource>

Последовательность значений, для которой определяется максимальное значение.

selector
Func<TSource,Double>

Функция преобразования, применяемая к каждому элементу.

Возвращаемое значение

Максимальное значение в последовательности.

Исключения

Параметр source или selector имеет значение null.

Последовательность source не содержит элементов.

Примеры

В следующем примере кода показано, как использовать Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) для определения максимального значения в последовательности проецируемых значений.

Примечание

В этом примере кода используется перегрузка метода , отличающаяся от конкретной перегрузки, описанной в этой статье. Чтобы расширить пример до перегрузки, описанной в этой статье, измените selector текст функции.

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

Комментарии

Метод Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) использует реализацию Double для сравнения значений IComparable<T> .

Этот метод можно применить к последовательности произвольных значений, если предоставить функцию , selectorкоторая проецировать члены source в числовой тип, в частности Double.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

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

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Decimal.

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

Тип элементов source.

Параметры

source
IEnumerable<TSource>

Последовательность значений, для которой определяется максимальное значение.

selector
Func<TSource,Decimal>

Функция преобразования, применяемая к каждому элементу.

Возвращаемое значение

Максимальное значение в последовательности.

Исключения

Параметр source или selector имеет значение null.

Последовательность source не содержит элементов.

Примеры

В следующем примере кода показано, как использовать Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) для определения максимального значения в последовательности проецируемых значений.

Примечание

В этом примере кода используется перегрузка метода , отличающаяся от конкретной перегрузки, описанной в этой статье. Чтобы расширить пример до перегрузки, описанной в этой статье, измените selector текст функции.

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

Комментарии

Метод Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) использует реализацию Decimal для сравнения значений IComparable<T> .

Этот метод можно применить к последовательности произвольных значений, если предоставить функцию , selectorкоторая проецировать члены source в числовой тип, в частности Decimal.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

Max<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Возвращает максимальное значение, содержащееся в универсальной последовательности.

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

Параметры типа

TSource

Тип элементов source.

Параметры

source
IEnumerable<TSource>

Последовательность значений, для которой определяется максимальное значение.

comparer
IComparer<TSource>

Компаратор IComparer<T>, используемый для сравнения значений.

Возвращаемое значение

TSource

Максимальное значение в последовательности.

Исключения

source имеет значение null.

Ни один объект в source не реализует интерфейс IComparable или IComparable<T>.

Комментарии

Если тип TSource реализует IComparable<T>, Max<TSource>(IEnumerable<TSource>) метод использует такую реализацию для сравнения значений. В противном случае, если тип TSource реализует IComparable, эта реализация используется для сравнения значений.

Если TSource является ссылочным типом и исходная последовательность пуста или содержит только значения null, этот метод возвращает null.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

Применяется к

Max<TSource>(IEnumerable<TSource>)

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Возвращает максимальное значение, содержащееся в универсальной последовательности.

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

Тип элементов source.

Параметры

source
IEnumerable<TSource>

Последовательность значений, для которой определяется максимальное значение.

Возвращаемое значение

TSource

Максимальное значение в последовательности.

Исключения

source имеет значение null.

Ни один объект в source не реализует интерфейс IComparable или IComparable<T>.

Примеры

В следующем примере кода показано, как использовать Max<TSource>(IEnumerable<TSource>) для определения максимального значения в последовательности IComparable<T> объектов .

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

Комментарии

Если тип TSource реализует IComparable<T>, Max<TSource>(IEnumerable<TSource>) метод использует такую реализацию для сравнения значений. В противном случае, если тип TSource реализует IComparable, эта реализация используется для сравнения значений.

Если TSource является ссылочным типом и исходная последовательность пуста или содержит только значения null, этот метод возвращает null.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к

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

Исходный код:
Max.cs
Исходный код:
Max.cs
Исходный код:
Max.cs

Вызывает функцию преобразования для каждого элемента последовательности и возвращает максимальное значение типа Int64.

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

Тип элементов source.

Параметры

source
IEnumerable<TSource>

Последовательность значений, для которой определяется максимальное значение.

selector
Func<TSource,Int64>

Функция преобразования, применяемая к каждому элементу.

Возвращаемое значение

Максимальное значение в последовательности.

Исключения

Параметр source или selector имеет значение null.

Последовательность source не содержит элементов.

Примеры

В следующем примере кода показано, как использовать Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) для определения максимального значения в последовательности проецируемых значений.

Примечание

В этом примере кода используется перегрузка метода , отличающаяся от конкретной перегрузки, описанной в этой статье. Чтобы расширить пример до перегрузки, описанной в этой статье, измените selector текст функции.

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

Комментарии

Метод Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) использует реализацию Int64 для сравнения значений IComparable<T> .

Этот метод можно применить к последовательности произвольных значений, если предоставить функцию , selectorкоторая проецировать члены source в числовой тип, в частности Int64.

В синтаксисе Aggregate Into Max() выражения запроса Visual Basic предложение преобразуется в вызов Max.

См. также раздел

Применяется к