Enumerable.MinBy Метод

Определение

Перегрузки

Имя Описание
MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

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

MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

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

MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

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

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

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

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

TSource

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

TKey

Тип ключа для сравнения элементов.

Параметры

source
IEnumerable<TSource>

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

keySelector
Func<TSource,TKey>

Функция для извлечения ключа для каждого элемента.

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

TSource

Значение с минимальным ключом в последовательности.

Исключения

source равно null.

Ключ не извлекается из source реализации IComparable или IComparable<T> интерфейса.

TSource — это примитивный тип, и исходная последовательность пуста.

Примеры

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

(string Name, decimal Salary, int Age)[] employees =
{
    ("Mahmoud", 1000m, 22),
    ("John", 1200m, 28),
    ("Sara", 2000m, 32),
    ("Hadi", 1750m, 27),
    ("Lana", 1500m, 24),
    ("Luna", 1850m, 33)
};

// Get the youngest employee in the company.
var youngestEmployee = employees.MinBy(employee => employee.Age);

Console.WriteLine($"Name: {youngestEmployee.Name}, Age: {youngestEmployee.Age}, Salary: ${youngestEmployee.Salary}");

/*
This code produces the following output:

Name: Mahmoud, Age: 22, Salary: $1000
*/
</Формат>

Комментарии

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

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

<format type="text/markdown">

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

MinBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

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

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

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

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

TSource

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

TKey

Тип ключа для сравнения элементов.

Параметры

source
IEnumerable<TSource>

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

keySelector
Func<TSource,TKey>

Функция для извлечения ключа для каждого элемента.

comparer
IComparer<TKey>

Сравнение IComparer<T> ключей.

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

TSource

Значение с минимальным ключом в последовательности.

Исключения

source равно null.

Ключ не извлекается из source реализации IComparable или IComparable<T> интерфейса.

TSource — это примитивный тип, и исходная последовательность пуста.

Примеры

В следующем примере кода показано, как использовать MinBy с пользовательским сравнивателем для пропуска конфиденциальности регистра при проверке минимального значения.

(string Name, int Quantity)[] inventory =
{
    ("apple", 10),
    ("BANANA", 5),
    ("Cherry", 20)
};

// Find the product with the minimum name alphabetically, ignoring casing differences.
// 'a' is correctly identified as smaller than 'B' when case is ignored.
var minIgnoreCase = inventory.MinBy(item => item.Name, StringComparer.OrdinalIgnoreCase);
Console.WriteLine($"Case-insensitive comparison: {minIgnoreCase.Name}");

/*
This code produces the following output:

Case-insensitive comparison: apple
*/
</Формат>

Комментарии

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

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

<format type="text/markdown">

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