Enumerable.MaxBy Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Överlagringar
| Name | Description |
|---|---|
| MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Returnerar det maximala värdet i en allmän sekvens enligt en angiven nyckelväljare och nyckeljäxare. |
| MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Returnerar det maximala värdet i en allmän sekvens enligt en angiven nyckelväljare. |
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)
- Källa:
- Max.cs
- Källa:
- Max.cs
- Källa:
- Max.cs
- Källa:
- Max.cs
- Källa:
- Max.cs
Returnerar det maximala värdet i en allmän sekvens enligt en angiven nyckelväljare och nyckeljäxare.
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
Typparametrar
- TSource
Typen av element sourcei .
- TKey
Vilken typ av nyckel som element ska jämföras med.
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
- keySelector
- Func<TSource,TKey>
En funktion för att extrahera nyckeln för varje element.
- comparer
- IComparer<TKey>
För IComparer<T> att jämföra nycklar.
Returer
Värdet med den maximala nyckeln i sekvensen.
Undantag
source är null.
Ingen nyckel som extraherats från source implementerar IComparable gränssnittet eller IComparable<T> .
TSource är en primitiv typ och källsekvensen är tom.
Exempel
I följande kodexempel visas hur du använder MaxBy med en anpassad jämförelse för att ignorera skiftlägeskänslighet när du söker efter det maximala värdet.
(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>
Kommentarer
Om källsekvensen är tom är två möjliga utfall möjliga beroende på källtyp. Om TSource är en nullbar typ returnerar nullden här metoden . Om TSource är en icke-nullbar struct, till exempel en primitiv typ, genereras en InvalidOperationException .
Om källsekvensen endast innehåller värden som är nullreturnerar nullden här metoden .
<format type="text/markdown">
Gäller för
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)
- Källa:
- Max.cs
- Källa:
- Max.cs
- Källa:
- Max.cs
- Källa:
- Max.cs
- Källa:
- Max.cs
Returnerar det maximala värdet i en allmän sekvens enligt en angiven nyckelväljare.
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
Typparametrar
- TSource
Typen av element sourcei .
- TKey
Vilken typ av nyckel som element ska jämföras med.
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
- keySelector
- Func<TSource,TKey>
En funktion för att extrahera nyckeln för varje element.
Returer
Värdet med den maximala nyckeln i sekvensen.
Undantag
source är null.
Ingen nyckel som extraherats från source implementerar IComparable gränssnittet eller IComparable<T> .
TSource är en primitiv typ och källsekvensen är tom.
Exempel
Följande kodexempel visar hur du använder MaxBy för att hitta det maximala värdet i en samling baserat på en specifik egenskap.
(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>
Kommentarer
Om källsekvensen är tom är två möjliga utfall möjliga beroende på källtyp. Om TSource är en nullbar typ returnerar nullden här metoden . Om TSource är en icke-nullbar struct, till exempel en primitiv typ, genereras en InvalidOperationException .
Om källsekvensen endast innehåller värden som är nullreturnerar nullden här metoden .
<format type="text/markdown">