Экспорт (0) Печать
Развернуть все
Развернуть Свернуть
Данная статья переведена автоматически. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала

Enumerable.Max<TSource> - метод (IEnumerable<TSource>, Func<TSource, Nullable<Double>>)

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

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

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

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

TSource

Тип элементов последовательности source.

Параметры

source
Тип: System.Collections.Generic.IEnumerable<TSource>
Последовательность значений, для которой определяется максимальное значение.
selector
Тип: System.Func<TSource, Nullable<Double>>
Функция преобразования, применяемая к каждому элементу.

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

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

Примечание об использовании

В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа IEnumerable<TSource>. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе Методы расширения (Visual Basic) или Методы расширения (Руководство по программированию в C#).

ИсключениеУсловие
ArgumentNullException

Значение параметра source или selectornull.

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

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

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

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



.NET Framework

Поддерживается в версиях: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework (клиентский профиль)

Поддерживается в версиях: 4, 3.5 с пакетом обновления 1 (SP1)

Переносимая библиотека классов

Поддерживается в версии: Переносимая библиотека классов

Приложения .NET для Магазина Windows

Поддерживается в версии: Windows 8

Приложения .NET для Windows Phone

Поддерживается в версиях: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows Server 2008 (роль основных серверных компонентов не поддерживается), Windows Server 2008 R2 (роль основных серверных компонентов поддерживается в пакете обновления 1 (SP1) или выше; системы на базе Itanium не поддерживаются)

.NET Framework поддерживает не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.

Добавления сообщества

ДОБАВИТЬ
Корпорация Майкрософт проводит интернет-опрос, чтобы выяснить ваше мнение о веб-сайте MSDN. Если вы желаете принять участие в этом интернет-опросе, он будет отображен при закрытии веб-сайта MSDN.

Вы хотите принять участие?
Показ:
© 2014 Microsoft