Enumerable.MinBy Método

Definição

Sobrecargas

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

Retorna o valor mínimo em uma sequência genérica de acordo com uma função de seletor de chave especificada.

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

Retorna o valor mínimo em uma sequência genérica de acordo com uma função de seletor de chave especificada e um comparador de chave.

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

Origem:
Min.cs
Origem:
Min.cs
Origem:
Min.cs
Origem:
Min.cs
Origem:
Min.cs

Retorna o valor mínimo em uma sequência genérica de acordo com uma função de seletor de chave especificada.

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

Parâmetros de tipo

TSource

O tipo dos elementos de source.

TKey

O tipo de chave pelo qual comparar elementos.

Parâmetros

source
IEnumerable<TSource>

Uma sequência de valores da qual determinar o valor mínimo.

keySelector
Func<TSource,TKey>

Uma função para extrair a chave para cada elemento.

Retornos

TSource

O valor com a chave mínima na sequência.

Exceções

source é null.

Nenhuma chave extraída implementa source a interface ou IComparable<T> implementaIComparable.

TSource é um tipo primitivo e a sequência de origem está vazia.

Exemplos

O exemplo de código a seguir demonstra como usar MinBy para localizar o valor mínimo em uma coleção com base em uma propriedade específica.

(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
*/
</Formato>

Comentários

Se a sequência de origem estiver vazia, dois resultados possíveis serão possíveis dependendo do tipo de origem. Se TSource for um tipo anulável, esse método retornará null. Se TSource for um struct não anulável, como um tipo primitivo, um InvalidOperationException será gerado.

Se a sequência de origem contiver apenas valores, nullesse método retornará null.

<format type="text/markdown">

Aplica-se a

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

Origem:
Min.cs
Origem:
Min.cs
Origem:
Min.cs
Origem:
Min.cs
Origem:
Min.cs

Retorna o valor mínimo em uma sequência genérica de acordo com uma função de seletor de chave especificada e um comparador de chave.

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

Parâmetros de tipo

TSource

O tipo dos elementos de source.

TKey

O tipo de chave pelo qual comparar elementos.

Parâmetros

source
IEnumerable<TSource>

Uma sequência de valores da qual determinar o valor mínimo.

keySelector
Func<TSource,TKey>

Uma função para extrair a chave para cada elemento.

comparer
IComparer<TKey>

As IComparer<T> teclas a serem comparadas.

Retornos

TSource

O valor com a chave mínima na sequência.

Exceções

source é null.

Nenhuma chave extraída implementa source a interface ou IComparable<T> implementaIComparable.

TSource é um tipo primitivo e a sequência de origem está vazia.

Exemplos

O exemplo de código a seguir demonstra como usar MinBy com um comparador personalizado para ignorar a confidencialidade de maiúsculas e minúsculas ao verificar o valor mínimo.

(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
*/
</Formato>

Comentários

Se a sequência de origem estiver vazia, dois resultados possíveis serão possíveis dependendo do tipo de origem. Se TSource for um tipo anulável, esse método retornará null. Se TSource for um struct não anulável, como um tipo primitivo, um InvalidOperationException será gerado.

Se a sequência de origem contiver apenas valores, nullesse método retornará null.

<format type="text/markdown">

Aplica-se a