Enumerable.MaxBy Methode

Definitie

Overloads

Name Description
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Retourneert de maximumwaarde in een algemene reeks volgens een opgegeven sleutelkiezerfunctie en sleutel-vergelijkingsfunctie.

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

Retourneert de maximumwaarde in een algemene reeks volgens een opgegeven sleutelkiezerfunctie.

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

Bron:
Max.cs
Bron:
Max.cs
Bron:
Max.cs
Bron:
Max.cs
Bron:
Max.cs

Retourneert de maximumwaarde in een algemene reeks volgens een opgegeven sleutelkiezerfunctie en sleutel-vergelijkingsfunctie.

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

Type parameters

TSource

Het type van de elementen van source.

TKey

Het type sleutel om elementen te vergelijken.

Parameters

source
IEnumerable<TSource>

Een reeks waarden om de maximumwaarde van te bepalen.

keySelector
Func<TSource,TKey>

Een functie om de sleutel voor elk element te extraheren.

comparer
IComparer<TKey>

De IComparer<T> om sleutels te vergelijken.

Retouren

TSource

De waarde met de maximumsleutel in de reeks.

Uitzonderingen

source is null.

Er is geen sleutel geëxtraheerd uit source de IComparable implementatie of IComparable<T> interface.

TSource is een primitief type en de bronvolgorde is leeg.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe MaxBy u met een aangepaste vergelijkingsfunctie hoofdlettergevoeligheid negeert bij het controleren op de maximumwaarde.

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

Opmerkingen

Als de bronreeks leeg is, zijn er twee mogelijke resultaten mogelijk, afhankelijk van het brontype. Als TSource een null-type is, retourneert nulldeze methode . Als TSource dit een niet-null-struct is, zoals een primitief type, wordt er een InvalidOperationException gegenereerd.

Als de bronreeks alleen waarden bevat, nullretourneert nulldeze methode .

<format type="text/markdown">

Van toepassing op

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

Bron:
Max.cs
Bron:
Max.cs
Bron:
Max.cs
Bron:
Max.cs
Bron:
Max.cs

Retourneert de maximumwaarde in een algemene reeks volgens een opgegeven sleutelkiezerfunctie.

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

Type parameters

TSource

Het type van de elementen van source.

TKey

Het type sleutel om elementen te vergelijken.

Parameters

source
IEnumerable<TSource>

Een reeks waarden om de maximumwaarde van te bepalen.

keySelector
Func<TSource,TKey>

Een functie om de sleutel voor elk element te extraheren.

Retouren

TSource

De waarde met de maximumsleutel in de reeks.

Uitzonderingen

source is null.

Er is geen sleutel geëxtraheerd uit source de IComparable implementatie of IComparable<T> interface.

TSource is een primitief type en de bronvolgorde is leeg.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe MaxBy u de maximumwaarde in een verzameling kunt vinden op basis van een specifieke eigenschap.

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

Opmerkingen

Als de bronreeks leeg is, zijn er twee mogelijke resultaten mogelijk, afhankelijk van het brontype. Als TSource een null-type is, retourneert nulldeze methode . Als TSource dit een niet-null-struct is, zoals een primitief type, wordt er een InvalidOperationException gegenereerd.

Als de bronreeks alleen waarden bevat, nullretourneert nulldeze methode .

<format type="text/markdown">

Van toepassing op