Enumerable.MaxBy Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Sobrecargas
| Name | Description |
|---|---|
| MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Devolve o valor máximo numa sequência genérica de acordo com uma função seletora de teclas e comparador de chaves especificadas. |
| MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Devolve o valor máximo numa sequência genérica de acordo com uma função seletora de teclas especificada. |
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)
- Origem:
- Max.cs
- Origem:
- Max.cs
- Origem:
- Max.cs
- Origem:
- Max.cs
- Origem:
- Max.cs
Devolve o valor máximo 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 MaxBy(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TKey> ^ keySelector, System::Collections::Generic::IComparer<TKey> ^ comparer);
public static TSource? MaxBy<TSource,TKey>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector, System.Collections.Generic.IComparer<TKey>? comparer);
static member MaxBy : seq<'Source> * Func<'Source, 'Key> * System.Collections.Generic.IComparer<'Key> -> 'Source
<Extension()>
Public Function MaxBy(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áximo 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
O valor com a chave máxima 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 MaxBy , com um comparador personalizado, ignorar a sensibilidade a maiúsculas minúsculas ao verificar o valor máximo.
(string Name, int Quantity)[] inventory =
{
("apple", 10),
("BANANA", 5),
("Cherry", 20)
};
// Find the product with the maximum name alphabetically, ignoring casing differences.
// 'C' is correctly identified as greater than 'a' and 'B' when case is ignored.
var maxIgnoreCase = inventory.MaxBy(item => item.Name, StringComparer.OrdinalIgnoreCase);
Console.WriteLine($"Case-insensitive comparison: {maxIgnoreCase.Name}");
/*
This code produces the following output:
Case-insensitive comparison: Cherry
*/
</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
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)
- Origem:
- Max.cs
- Origem:
- Max.cs
- Origem:
- Max.cs
- Origem:
- Max.cs
- Origem:
- Max.cs
Devolve o valor máximo 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 MaxBy(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TKey> ^ keySelector);
public static TSource? MaxBy<TSource,TKey>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector);
static member MaxBy : seq<'Source> * Func<'Source, 'Key> -> 'Source
<Extension()>
Public Function MaxBy(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áximo de.
- keySelector
- Func<TSource,TKey>
Uma função para extrair a chave de cada elemento.
Devoluções
O valor com a chave máxima 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 MaxBy para encontrar o valor máximo 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 oldest employee in the company.
var oldestEmployee = employees.MaxBy(employee => employee.Age);
Console.WriteLine($"Name: {oldestEmployee.Name}, Age: {oldestEmployee.Age}, Salary: ${oldestEmployee.Salary}");
/*
This code produces the following output:
Name: Luna, Age: 33, Salary: $1850
*/
</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">