Enumerable.MinBy Método

Definición

Sobrecargas

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

Devuelve el valor mínimo de una secuencia genérica según una función de selector de claves especificada.

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

Devuelve el valor mínimo de una secuencia genérica según una función de selector de claves y un comparador de claves especificados.

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

Source:
Min.cs
Source:
Min.cs
Source:
Min.cs
Source:
Min.cs
Source:
Min.cs

Devuelve el valor mínimo de una secuencia genérica según una función de selector de claves especificada.

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

Parámetros de tipo

TSource

Tipo de los elementos de source.

TKey

Tipo de clave por el que se van a comparar los elementos.

Parámetros

source
IEnumerable<TSource>

Secuencia de valores para determinar el valor mínimo de .

keySelector
Func<TSource,TKey>

Función para extraer la clave de cada elemento.

Devoluciones

TSource

Valor con la clave mínima en la secuencia.

Excepciones

source es null.

Ninguna clave extraída de source implementa la IComparable interfaz o IComparable<T> .

TSource es un tipo primitivo y la secuencia de origen está vacía.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar MinBy para buscar el valor mínimo en una colección basada en una propiedad específica.

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

Comentarios

Si la secuencia de origen está vacía, se pueden realizar dos resultados posibles en función del tipo de origen. Si TSource es un tipo que acepta valores NULL, este método devuelve null. Si TSource es una estructura que no acepta valores NULL, como un tipo primitivo, se produce una InvalidOperationException excepción .

Si la secuencia de origen contiene solo valores que son null, este método devuelve null.

<format type="text/markdown">

Se aplica a

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

Source:
Min.cs
Source:
Min.cs
Source:
Min.cs
Source:
Min.cs
Source:
Min.cs

Devuelve el valor mínimo de una secuencia genérica según una función de selector de claves y un comparador de claves especificados.

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

Parámetros de tipo

TSource

Tipo de los elementos de source.

TKey

Tipo de clave por el que se van a comparar los elementos.

Parámetros

source
IEnumerable<TSource>

Secuencia de valores para determinar el valor mínimo de .

keySelector
Func<TSource,TKey>

Función para extraer la clave de cada elemento.

comparer
IComparer<TKey>

que IComparer<T> se va a comparar las claves.

Devoluciones

TSource

Valor con la clave mínima en la secuencia.

Excepciones

source es null.

Ninguna clave extraída de source implementa la IComparable interfaz o IComparable<T> .

TSource es un tipo primitivo y la secuencia de origen está vacía.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar MinBy con un comparador personalizado para omitir la distinción entre mayúsculas y minúsculas al comprobar el valor mínimo.

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

Comentarios

Si la secuencia de origen está vacía, se pueden realizar dos resultados posibles en función del tipo de origen. Si TSource es un tipo que acepta valores NULL, este método devuelve null. Si TSource es una estructura que no acepta valores NULL, como un tipo primitivo, se produce una InvalidOperationException excepción .

Si la secuencia de origen contiene solo valores que son null, este método devuelve null.

<format type="text/markdown">

Se aplica a