Прочитать на английском

Поделиться через


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 обнуляемого типа.

C#
public static int? Max (this System.Collections.Generic.IEnumerable<int?> source);

Параметры

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.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Single>)

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

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

C#
public static float Max (this System.Collections.Generic.IEnumerable<float> source);

Параметры

source
IEnumerable<Single>

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

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

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

Исключения

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

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

Комментарии

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Nullable<Single>>)

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

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

C#
public static float? Max (this System.Collections.Generic.IEnumerable<float?> source);

Параметры

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.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Nullable<Int64>>)

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

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

C#
public static long? Max (this System.Collections.Generic.IEnumerable<long?> source);

Параметры

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.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Nullable<Double>>)

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

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

C#
public static double? Max (this System.Collections.Generic.IEnumerable<double?> source);

Параметры

source
IEnumerable<Nullable<Double>>

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

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

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

Исключения

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

Примеры

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

C#
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.
*/

Комментарии

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

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Double>)

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

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

C#
public static double Max (this System.Collections.Generic.IEnumerable<double> source);

Параметры

source
IEnumerable<Double>

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

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

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

Исключения

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

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

Комментарии

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Int64>)

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

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

C#
public static long Max (this System.Collections.Generic.IEnumerable<long> source);

Параметры

source
IEnumerable<Int64>

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

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

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

Исключения

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

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

Примеры

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

C#
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.
*/

Комментарии

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Int32>)

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

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

C#
public static int Max (this System.Collections.Generic.IEnumerable<int> source);

Параметры

source
IEnumerable<Int32>

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

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

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

Исключения

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

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

Комментарии

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Decimal>)

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

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

C#
public static decimal Max (this System.Collections.Generic.IEnumerable<decimal> source);

Параметры

source
IEnumerable<Decimal>

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

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

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

Исключения

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

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

Комментарии

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Max(IEnumerable<Nullable<Decimal>>)

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

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

C#
public static decimal? Max (this System.Collections.Generic.IEnumerable<decimal?> source);

Параметры

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.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

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

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

C#
public static TResult Max<TSource,TResult> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TResult> selector);
C#
public static TResult? Max<TSource,TResult> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TResult> selector);

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

TSource

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

TResult

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

Параметры

source
IEnumerable<TSource>

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

selector
Func<TSource,TResult>

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

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

TResult

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

Исключения

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

Примеры

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

Примечание

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

C#
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.
*/

Комментарии

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

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

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

C#
public static float Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float> selector);

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

TSource

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

Параметры

source
IEnumerable<TSource>

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

selector
Func<TSource,Single>

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

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

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

Исключения

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

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

Примеры

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

Примечание

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

C#
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.
*/

Комментарии

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

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

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

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

C#
public static float? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float?> selector);

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

TSource

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

Параметры

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Single>>

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

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

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

Исключения

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

Примеры

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

Примечание

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

C#
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.
*/

Комментарии

Метод 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.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

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

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

C#
public static long? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long?> selector);

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

TSource

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

Параметры

source
IEnumerable<TSource>

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

selector
Func<TSource,Nullable<Int64>>

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

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

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

Исключения

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

Примеры

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

Примечание

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

C#
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.
*/

Комментарии

Метод 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.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

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

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

C#
public static int? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int?> selector);

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

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 текст функции.

C#
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.
*/

Комментарии

Метод 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.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

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

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

C#
public static decimal? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal?> selector);

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

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 текст функции.

C#
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.
*/

Комментарии

Метод 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.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

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

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

C#
public static double? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double?> selector);

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

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 текст функции.

C#
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.
*/

Комментарии

Метод 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.

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

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

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

C#
public static int Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int> selector);

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

TSource

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

Параметры

source
IEnumerable<TSource>

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

selector
Func<TSource,Int32>

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

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

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

Исключения

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

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

Примеры

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

C#
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.
*/

Комментарии

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

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

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

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

C#
public static double Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double> selector);

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

TSource

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

Параметры

source
IEnumerable<TSource>

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

selector
Func<TSource,Double>

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

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

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

Исключения

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

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

Примеры

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

Примечание

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

C#
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.
*/

Комментарии

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

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

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

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

C#
public static decimal Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal> selector);

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

TSource

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

Параметры

source
IEnumerable<TSource>

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

selector
Func<TSource,Decimal>

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

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

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

Исключения

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

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

Примеры

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

Примечание

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

C#
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.
*/

Комментарии

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

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

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

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

C#
public static TSource? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, System.Collections.Generic.IComparer<TSource>? comparer);

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

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.

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

.NET 9 и другие версии
Продукт Версии
.NET 6, 7, 8, 9

Max<TSource>(IEnumerable<TSource>)

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

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

C#
public static TSource Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);
C#
public static TSource? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);

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

TSource

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

Параметры

source
IEnumerable<TSource>

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

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

TSource

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

Исключения

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

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

Примеры

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

C#
/// <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.
*/

Комментарии

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

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

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

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

C#
public static long Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long> selector);

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

TSource

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

Параметры

source
IEnumerable<TSource>

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

selector
Func<TSource,Int64>

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

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

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

Исключения

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

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

Примеры

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

Примечание

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

C#
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.
*/

Комментарии

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

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

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

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

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

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0