Enumerable.MinBy Metoda

Definicja

Przeciążenia

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

Zwraca wartość minimalną w sekwencji ogólnej zgodnie z określoną funkcją selektora kluczy.

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

Zwraca wartość minimalną w sekwencji ogólnej zgodnie z określoną funkcją selektora kluczy i modułem porównania kluczy.

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

Źródło:
Min.cs
Źródło:
Min.cs
Źródło:
Min.cs
Źródło:
Min.cs
Źródło:
Min.cs

Zwraca wartość minimalną w sekwencji ogólnej zgodnie z określoną funkcją selektora kluczy.

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 elementów elementu source.

TKey

Typ klucza do porównywania elementów według.

Parametry

source
IEnumerable<TSource>

Sekwencja wartości określających minimalną wartość.

keySelector
Func<TSource,TKey>

Funkcja wyodrębniania klucza dla każdego elementu.

Zwraca

TSource

Wartość z minimalnym kluczem w sekwencji.

Wyjątki

Parametr source ma wartość null.

Żaden klucz nie został wyodrębniony z source implementacji interfejsu IComparable lub IComparable<T> .

TSource jest typem pierwotnym, a sekwencja źródłowa jest pusta.

Przykłady

W poniższym przykładzie kodu pokazano, jak MinBy znaleźć wartość minimalną w kolekcji na podstawie określonej właściwości.

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

Uwagi

Jeśli sekwencja źródłowa jest pusta, możliwe są dwa możliwe wyniki w zależności od typu źródła. Jeśli TSource jest typem dopuszczalnym wartości null, ta metoda zwraca wartość null. Jeśli TSource jest niepustą strukturą, taką jak typ pierwotny, InvalidOperationException jest zgłaszana wartość .

Jeśli sekwencja źródłowa zawiera tylko wartości, które są null, ta metoda zwraca wartość null.

<format type="text/markdown">

Dotyczy

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

Źródło:
Min.cs
Źródło:
Min.cs
Źródło:
Min.cs
Źródło:
Min.cs
Źródło:
Min.cs

Zwraca wartość minimalną w sekwencji ogólnej zgodnie z określoną funkcją selektora kluczy i modułem porównania kluczy.

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 elementów elementu source.

TKey

Typ klucza do porównywania elementów według.

Parametry

source
IEnumerable<TSource>

Sekwencja wartości określających minimalną wartość.

keySelector
Func<TSource,TKey>

Funkcja wyodrębniania klucza dla każdego elementu.

comparer
IComparer<TKey>

Element IComparer<T> do porównywania kluczy.

Zwraca

TSource

Wartość z minimalnym kluczem w sekwencji.

Wyjątki

Parametr source ma wartość null.

Żaden klucz nie został wyodrębniony z source implementacji interfejsu IComparable lub IComparable<T> .

TSource jest typem pierwotnym, a sekwencja źródłowa jest pusta.

Przykłady

W poniższym przykładzie kodu pokazano, jak używać z MinBy niestandardowym modułem porównującym w celu ignorowania poufności wielkości liter podczas sprawdzania minimalnej wartości.

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

Uwagi

Jeśli sekwencja źródłowa jest pusta, możliwe są dwa możliwe wyniki w zależności od typu źródła. Jeśli TSource jest typem dopuszczalnym wartości null, ta metoda zwraca wartość null. Jeśli TSource jest niepustą strukturą, taką jak typ pierwotny, InvalidOperationException jest zgłaszana wartość .

Jeśli sekwencja źródłowa zawiera tylko wartości, które są null, ta metoda zwraca wartość null.

<format type="text/markdown">

Dotyczy