Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Метод Enumerable.Max<TSource>(IEnumerable<TSource>, Func<TSource, Int32>)

 

Опубликовано: Октябрь 2016

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

Пространство имен:   System.Linq
Сборка:  System.Core (в System.Core.dll)

public static int Max<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, int> selector
)

Параметры

source
Type: System.Collections.Generic.IEnumerable<TSource>

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

selector
Type: System.Func<TSource, Int32>

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

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

Type: System.Int32

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

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

TSource

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

Exception Condition
ArgumentNullException

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

InvalidOperationException

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

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

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

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

В следующем примере кода демонстрируется использование 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.
*/

Универсальная платформа Windows
Доступно с 8
.NET Framework
Доступно с 3.5
Переносимая библиотека классов
Поддерживается в: переносимые платформы .NET
Silverlight
Доступно с 2.0
Windows Phone Silverlight
Доступно с 7.0
Windows Phone
Доступно с 8.1
Вернуться в начало
Показ: