Enumerable.MinBy Yöntem

Tanım

Aşırı Yüklemeler

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

Belirtilen anahtar seçici işlevine göre genel bir dizideki en düşük değeri döndürür.

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

Belirtilen anahtar seçici işlevine ve anahtar karşılaştırıcısına göre genel bir dizideki en düşük değeri döndürür.

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

Kaynak:
Min.cs
Kaynak:
Min.cs
Kaynak:
Min.cs
Kaynak:
Min.cs
Kaynak:
Min.cs

Belirtilen anahtar seçici işlevine göre genel bir dizideki en düşük değeri döndürür.

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

Tür Parametreleri

TSource

öğelerinin sourcetürü.

TKey

Öğeleri karşılaştıracak anahtarın türü.

Parametreler

source
IEnumerable<TSource>

En düşük değerini belirlemek için bir değer dizisi.

keySelector
Func<TSource,TKey>

Her öğenin anahtarını ayıklamak için bir işlev.

Döndürülenler

TSource

Dizide en düşük anahtara sahip değer.

Özel durumlar

source, null'e eşittir.

veya source arabirimini uygulamadan IComparableIComparable<T> ayıklanan anahtar yok.

TSource ilkel bir türdür ve kaynak dizisi boş olur.

Örnekler

Aşağıdaki kod örneği, belirli bir özelliğe göre bir koleksiyondaki en düşük değeri bulmak için nasıl kullanılacağını MinBy gösterir.

(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
*/
</Biçim>

Açıklamalar

Kaynak dizisi boşsa, kaynak türüne bağlı olarak iki olası sonuç mümkündür. Boş değer atanabilir bir türse TSource , bu yöntem döndürür null. İlkel tür gibi null atanamaz bir yapıysa TSource , bir InvalidOperationException oluşturulur.

Kaynak dizisi yalnızca olan nulldeğerleri içeriyorsa, bu yöntem döndürür null.

<format type="text/markdown">

Şunlara uygulanır

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

Kaynak:
Min.cs
Kaynak:
Min.cs
Kaynak:
Min.cs
Kaynak:
Min.cs
Kaynak:
Min.cs

Belirtilen anahtar seçici işlevine ve anahtar karşılaştırıcısına göre genel bir dizideki en düşük değeri döndürür.

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

Tür Parametreleri

TSource

öğelerinin sourcetürü.

TKey

Öğeleri karşılaştıracak anahtarın türü.

Parametreler

source
IEnumerable<TSource>

En düşük değerini belirlemek için bir değer dizisi.

keySelector
Func<TSource,TKey>

Her öğenin anahtarını ayıklamak için bir işlev.

comparer
IComparer<TKey>

IComparer<T> Anahtarları karşılaştırmak için.

Döndürülenler

TSource

Dizide en düşük anahtara sahip değer.

Özel durumlar

source, null'e eşittir.

veya source arabirimini uygulamadan IComparableIComparable<T> ayıklanan anahtar yok.

TSource ilkel bir türdür ve kaynak dizisi boş olur.

Örnekler

Aşağıdaki kod örneği, en düşük değeri denetlerken büyük/küçük harf duyarlılığını yoksaymak için özel bir karşılaştırıcı ile nasıl kullanılacağını MinBy gösterir.

(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
*/
</Biçim>

Açıklamalar

Kaynak dizisi boşsa, kaynak türüne bağlı olarak iki olası sonuç mümkündür. Boş değer atanabilir bir türse TSource , bu yöntem döndürür null. İlkel tür gibi null atanamaz bir yapıysa TSource , bir InvalidOperationException oluşturulur.

Kaynak dizisi yalnızca olan nulldeğerleri içeriyorsa, bu yöntem döndürür null.

<format type="text/markdown">

Şunlara uygulanır