Enumerable.MinBy Metodo

Definizione

Overload

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

Restituisce il valore minimo in una sequenza generica in base a una funzione del selettore di chiave specificata.

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

Restituisce il valore minimo in una sequenza generica in base a una funzione del selettore di chiave e all'operatore di confronto dei tasti specificato.

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

Origine:
Min.cs
Origine:
Min.cs
Origine:
Min.cs
Origine:
Min.cs
Origine:
Min.cs

Restituisce il valore minimo in una sequenza generica in base a una funzione del selettore di chiave specificata.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

TKey

Tipo di chiave per cui confrontare gli elementi.

Parametri

source
IEnumerable<TSource>

Sequenza di valori per determinare il valore minimo di .

keySelector
Func<TSource,TKey>

Funzione per estrarre la chiave per ogni elemento.

Valori restituiti

TSource

Valore con la chiave minima nella sequenza.

Eccezioni

source è null.

Nessuna chiave estratta da source implementa l'interfaccia IComparable o IComparable<T> .

TSource è un tipo primitivo e la sequenza di origine è vuota.

Esempio

Nell'esempio di codice seguente viene illustrato come usare MinBy per trovare il valore minimo in una raccolta in base a una proprietà specifica.

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

Commenti

Se la sequenza di origine è vuota, sono possibili due risultati possibili a seconda del tipo di origine. Se TSource è un tipo nullable, questo metodo restituisce null. Se TSource è uno struct non nullable, ad esempio un tipo primitivo, viene generata un'eccezione InvalidOperationException .

Se la sequenza di origine contiene solo valori , nullquesto metodo restituisce null.

<format type="text/markdown">

Si applica a

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

Origine:
Min.cs
Origine:
Min.cs
Origine:
Min.cs
Origine:
Min.cs
Origine:
Min.cs

Restituisce il valore minimo in una sequenza generica in base a una funzione del selettore di chiave e all'operatore di confronto dei tasti specificato.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

TKey

Tipo di chiave per cui confrontare gli elementi.

Parametri

source
IEnumerable<TSource>

Sequenza di valori per determinare il valore minimo di .

keySelector
Func<TSource,TKey>

Funzione per estrarre la chiave per ogni elemento.

comparer
IComparer<TKey>

Oggetto IComparer<T> da confrontare.

Valori restituiti

TSource

Valore con la chiave minima nella sequenza.

Eccezioni

source è null.

Nessuna chiave estratta da source implementa l'interfaccia IComparable o IComparable<T> .

TSource è un tipo primitivo e la sequenza di origine è vuota.

Esempio

Nell'esempio di codice seguente viene illustrato come usare MinBy con un operatore di confronto personalizzato per ignorare la distinzione tra maiuscole e minuscole durante il controllo del valore minimo.

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

Commenti

Se la sequenza di origine è vuota, sono possibili due risultati possibili a seconda del tipo di origine. Se TSource è un tipo nullable, questo metodo restituisce null. Se TSource è uno struct non nullable, ad esempio un tipo primitivo, viene generata un'eccezione InvalidOperationException .

Se la sequenza di origine contiene solo valori , nullquesto metodo restituisce null.

<format type="text/markdown">

Si applica a