Enumerable.MaxBy Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Gibt den Maximalwert in einer generischen Sequenz gemäß einer angegebenen Schlüsselmarkierfunktion und einem Schlüsselabgleich zurück. |
| MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Gibt den Maximalwert in einer generischen Sequenz gemäß einer angegebenen Schlüsselmarkierfunktion zurück. |
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)
- Quelle:
- Max.cs
- Quelle:
- Max.cs
- Quelle:
- Max.cs
- Quelle:
- Max.cs
- Quelle:
- Max.cs
Gibt den Maximalwert in einer generischen Sequenz gemäß einer angegebenen Schlüsselmarkierfunktion und einem Schlüsselabgleich zurück.
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
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 Maximalwert 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
Der Wert mit dem maximalen Schlü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 MaxBy mit einem benutzerdefinierten Comparer veranschaulicht, um die Groß-/Kleinschreibung bei der Überprüfung auf den Maximalwert zu ignorieren.
(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>
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:
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)
- Quelle:
- Max.cs
- Quelle:
- Max.cs
- Quelle:
- Max.cs
- Quelle:
- Max.cs
- Quelle:
- Max.cs
Gibt den Maximalwert in einer generischen Sequenz gemäß einer angegebenen Schlüsselmarkierfunktion zurück.
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
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 Maximalwert zu bestimmen.
- keySelector
- Func<TSource,TKey>
Eine Funktion zum Extrahieren des Schlüssels für jedes Element.
Gibt zurück
Der Wert mit dem maximalen Schlü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 MaxBy der Maximalwert 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 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>
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">