Enumerable.MaxBy Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
| Name | Description |
|---|---|
| MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Vrátí maximální hodnotu v obecné sekvenci podle zadané funkce selektoru klíče a porovnávače klíčů. |
| MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Vrátí maximální hodnotu v obecné sekvenci podle zadané funkce selektoru klíče. |
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)
- Zdroj:
- Max.cs
- Zdroj:
- Max.cs
- Zdroj:
- Max.cs
- Zdroj:
- Max.cs
- Zdroj:
- Max.cs
Vrátí maximální hodnotu v obecné sekvenci podle zadané funkce selektoru klíče a porovnávače klíčů.
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
Parametry typu
- TSource
Typ prvků .source
- TKey
Typ klíče pro porovnání prvků.
Parametry
- source
- IEnumerable<TSource>
Posloupnost hodnot k určení maximální hodnoty.
- keySelector
- Func<TSource,TKey>
Funkce, která extrahuje klíč pro každý prvek.
- comparer
- IComparer<TKey>
Porovnávané IComparer<T> klíče.
Návraty
Hodnota s maximálním klíčem v sekvenci.
Výjimky
source je null.
Žádný klíč extrahovaný z source implementace IComparable nebo IComparable<T> rozhraní.
TSource je primitivní typ a zdrojová sekvence je prázdná.
Příklady
Následující příklad kódu ukazuje použití MaxBy s vlastním porovnávačem k ignorování citlivosti malých a velkých písmen při kontrole maximální hodnoty.
(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
*/
</Formát>
Poznámky
Pokud je zdrojová sekvence prázdná, jsou možné dva možné výsledky v závislosti na typu zdroje. Pokud TSource je typ s možnou hodnotou null, tato metoda vrátí null. Pokud TSource je struktura, která není nullable, například primitivní typ, InvalidOperationException je vyvolán.
Pokud zdrojová sekvence obsahuje pouze hodnoty, které jsou null, tato metoda vrátí null.
<format type="text/markdown">
Platí pro
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)
- Zdroj:
- Max.cs
- Zdroj:
- Max.cs
- Zdroj:
- Max.cs
- Zdroj:
- Max.cs
- Zdroj:
- Max.cs
Vrátí maximální hodnotu v obecné sekvenci podle zadané funkce selektoru klíče.
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
Parametry typu
- TSource
Typ prvků .source
- TKey
Typ klíče pro porovnání prvků.
Parametry
- source
- IEnumerable<TSource>
Posloupnost hodnot k určení maximální hodnoty.
- keySelector
- Func<TSource,TKey>
Funkce, která extrahuje klíč pro každý prvek.
Návraty
Hodnota s maximálním klíčem v sekvenci.
Výjimky
source je null.
Žádný klíč extrahovaný z source implementace IComparable nebo IComparable<T> rozhraní.
TSource je primitivní typ a zdrojová sekvence je prázdná.
Příklady
Následující příklad kódu ukazuje, jak použít MaxBy k nalezení maximální hodnoty v kolekci na základě konkrétní vlastnosti.
(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
*/
</Formát>
Poznámky
Pokud je zdrojová sekvence prázdná, jsou možné dva možné výsledky v závislosti na typu zdroje. Pokud TSource je typ s možnou hodnotou null, tato metoda vrátí null. Pokud TSource je struktura, která není nullable, například primitivní typ, InvalidOperationException je vyvolán.
Pokud zdrojová sekvence obsahuje pouze hodnoty, které jsou null, tato metoda vrátí null.
<format type="text/markdown">