Enumerable.MaxBy Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
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
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">