Enumerable.MinBy Metoda

Definice

Přetížení

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

Vrátí minimální hodnotu v obecné sekvenci podle zadané funkce selektoru klíčů.

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

Vrátí minimální hodnotu v obecné sekvenci podle zadané funkce selektoru klíče a porovnávače klíčů.

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

Zdroj:
Min.cs
Zdroj:
Min.cs
Zdroj:
Min.cs
Zdroj:
Min.cs
Zdroj:
Min.cs

Vrátí minimální hodnotu v obecné sekvenci podle zadané funkce selektoru klíčů.

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

Parametry typu

TSource

Typ prvků .source

TKey

Typ klíče pro porovnání prvků.

Parametry

source
IEnumerable<TSource>

Posloupnost hodnot k určení minimální hodnoty.

keySelector
Func<TSource,TKey>

Funkce, která extrahuje klíč pro každý prvek.

Návraty

TSource

Hodnota s minimá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 MinBy k nalezení minimá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 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
*/
</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

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

Zdroj:
Min.cs
Zdroj:
Min.cs
Zdroj:
Min.cs
Zdroj:
Min.cs
Zdroj:
Min.cs

Vrátí minimá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 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

Parametry typu

TSource

Typ prvků .source

TKey

Typ klíče pro porovnání prvků.

Parametry

source
IEnumerable<TSource>

Posloupnost hodnot k určení minimá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

TSource

Hodnota s minimá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í MinBy s vlastním porovnávačem k ignorování citlivosti malých a malých písmen při kontrole minimální hodnoty.

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