Enumerable.MaxBy Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>) |
Belirtilen bir anahtar seçici işlevine ve anahtar karşılaştırıcısına göre genel bir dizideki en büyük değeri döndürür. |
| MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) |
Belirtilen anahtar seçici işlevine göre genel bir dizideki en büyük değeri döndürür. |
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)
- Kaynak:
- Max.cs
- Kaynak:
- Max.cs
- Kaynak:
- Max.cs
- Kaynak:
- Max.cs
- Kaynak:
- Max.cs
Belirtilen bir anahtar seçici işlevine ve anahtar karşılaştırıcısına göre genel bir dizideki en büyük değeri döndürür.
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
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
- TKey
Öğeleri karşılaştıracak anahtarın türü.
Parametreler
- source
- IEnumerable<TSource>
En büyü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
Dizide en büyü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 yüksek 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ı MaxBy gösterir.
(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
*/
</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
MaxBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)
- Kaynak:
- Max.cs
- Kaynak:
- Max.cs
- Kaynak:
- Max.cs
- Kaynak:
- Max.cs
- Kaynak:
- Max.cs
Belirtilen anahtar seçici işlevine göre genel bir dizideki en büyük değeri döndürür.
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
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
- TKey
Öğeleri karşılaştıracak anahtarın türü.
Parametreler
- source
- IEnumerable<TSource>
En büyü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
Dizide en büyü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 yüksek değeri bulmak için nasıl kullanılacağını MaxBy 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 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
*/
</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">