Enumerable.MinBy Método

Definição

Sobrecargas

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

Devolve o valor mínimo numa sequência genérica de acordo com uma função seletora de teclas especificada.

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

Devolve o valor mínimo numa sequência genérica de acordo com uma função seletora de teclas e comparador de chaves especificadas.

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

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

Devolve o valor mínimo numa sequência genérica de acordo com uma função seletora de teclas 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 Genérico

TSource

O tipo dos elementos de source.

TKey

O tipo de chave para comparar elementos.

Parâmetros

source
IEnumerable<TSource>

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

keySelector
Func<TSource,TKey>

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

Devoluções

TSource

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

Exceções

source é null.

Nenhuma chave extraída dos source implementos ou IComparableIComparable<T> interface.

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

Exemplos

O exemplo de código seguinte demonstra como usar MinBy para encontrar o valor mínimo numa coleção com base numa 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
*/
</format>

Observações

Se a sequência de origem estiver vazia, dois resultados possíveis são possíveis dependendo do tipo de fonte. Se TSource for um tipo anulável, este método devolve null. Se TSource for um struct não nulo, como um tipo primitivo, um InvalidOperationException é lançado.

Se a sequência de origem contiver apenas valores que são null, este método devolve null.

<Formato Type="Texto/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

Devolve o valor mínimo numa sequência genérica de acordo com uma função seletora de teclas e comparador de chaves especificadas.

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 Genérico

TSource

O tipo dos elementos de source.

TKey

O tipo de chave para comparar elementos.

Parâmetros

source
IEnumerable<TSource>

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

keySelector
Func<TSource,TKey>

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

comparer
IComparer<TKey>

O IComparer<T> para comparar tonalidades.

Devoluções

TSource

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

Exceções

source é null.

Nenhuma chave extraída dos source implementos ou IComparableIComparable<T> interface.

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

Exemplos

O exemplo de código seguinte demonstra como usar MinBy , com um comparador personalizado, ignorar a sensibilidade a maiúsculas 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
*/
</format>

Observações

Se a sequência de origem estiver vazia, dois resultados possíveis são possíveis dependendo do tipo de fonte. Se TSource for um tipo anulável, este método devolve null. Se TSource for um struct não nulo, como um tipo primitivo, um InvalidOperationException é lançado.

Se a sequência de origem contiver apenas valores que são null, este método devolve null.

<Formato Type="Texto/Markdown">

Aplica-se a