Enumerable.MinBy Methode

Definition

Überlädt

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

Gibt den Minimalwert in einer generischen Sequenz gemäß einer angegebenen Schlüsselmarkierfunktion zurück.

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

Gibt den Minimalwert in einer generischen Sequenz gemäß einer angegebenen Schlüsselauswahlfunktion und einem Schlüsselabgleich zurück.

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

Quelle:
Min.cs
Quelle:
Min.cs
Quelle:
Min.cs
Quelle:
Min.cs
Quelle:
Min.cs

Gibt den Minimalwert in einer generischen Sequenz gemäß einer angegebenen Schlüsselmarkierfunktion zurück.

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

Typparameter

TSource

Der Typ der Elemente von source.

TKey

Der Schlüsseltyp, nach dem Elemente verglichen werden sollen.

Parameter

source
IEnumerable<TSource>

Eine Abfolge von Werten, um den Minimalwert zu bestimmen.

keySelector
Func<TSource,TKey>

Eine Funktion zum Extrahieren des Schlüssels für jedes Element.

Gibt zurück

TSource

Der Wert mit dem Minimalschlüssel in der Sequenz.

Ausnahmen

source ist null.

Kein Schlüssel, der aus source der Implementierung oder IComparable<T>IComparable Schnittstelle extrahiert wurde.

TSource ist ein Grundtyp, und die Quellsequenz ist leer.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie MinBy Der Mindestwert in einer Auflistung basierend auf einer bestimmten Eigenschaft gefunden wird.

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

Hinweise

Wenn die Quellsequenz leer ist, sind je nach Quelltyp zwei mögliche Ergebnisse möglich. Wenn TSource es sich um einen Null-Typ handelt, gibt diese Methode zurück null. Wenn TSource es sich um eine nicht nullable Struktur handelt, z. B. einen Grundtyp, wird ein InvalidOperationException Fehler ausgelöst.

Wenn die Quellsequenz nur Werte enthält, die sind null, gibt diese Methode zurück null.

<format type="text/markdown">

Gilt für:

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

Quelle:
Min.cs
Quelle:
Min.cs
Quelle:
Min.cs
Quelle:
Min.cs
Quelle:
Min.cs

Gibt den Minimalwert in einer generischen Sequenz gemäß einer angegebenen Schlüsselauswahlfunktion und einem Schlüsselabgleich zurück.

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

Typparameter

TSource

Der Typ der Elemente von source.

TKey

Der Schlüsseltyp, nach dem Elemente verglichen werden sollen.

Parameter

source
IEnumerable<TSource>

Eine Abfolge von Werten, um den Minimalwert zu bestimmen.

keySelector
Func<TSource,TKey>

Eine Funktion zum Extrahieren des Schlüssels für jedes Element.

comparer
IComparer<TKey>

Der IComparer<T> zu vergleichende Schlüssel.

Gibt zurück

TSource

Der Wert mit dem Minimalschlüssel in der Sequenz.

Ausnahmen

source ist null.

Kein Schlüssel, der aus source der Implementierung oder IComparable<T>IComparable Schnittstelle extrahiert wurde.

TSource ist ein Grundtyp, und die Quellsequenz ist leer.

Beispiele

Im folgenden Codebeispiel wird die Verwendung MinBy mit einem benutzerdefinierten Vergleich veranschaulicht, um die Groß-/Kleinschreibung bei der Überprüfung auf den Minimalwert zu ignorieren.

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

Hinweise

Wenn die Quellsequenz leer ist, sind je nach Quelltyp zwei mögliche Ergebnisse möglich. Wenn TSource es sich um einen Null-Typ handelt, gibt diese Methode zurück null. Wenn TSource es sich um eine nicht nullable Struktur handelt, z. B. einen Grundtyp, wird ein InvalidOperationException Fehler ausgelöst.

Wenn die Quellsequenz nur Werte enthält, die sind null, gibt diese Methode zurück null.

<format type="text/markdown">

Gilt für: