Enumerable.CountBy<TSource,TKey> Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt die Anzahl der Elemente in der Quellsequenz nach Schlüssel gruppiert zurück.
public static System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,int>> CountBy<TSource,TKey>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TKey> keySelector, System.Collections.Generic.IEqualityComparer<TKey>? keyComparer = default);
static member CountBy : seq<'Source> * Func<'Source, 'Key> * System.Collections.Generic.IEqualityComparer<'Key> -> seq<System.Collections.Generic.KeyValuePair<'Key, int>>
<Extension()>
Public Function CountBy(Of TSource, TKey) (source As IEnumerable(Of TSource), keySelector As Func(Of TSource, TKey), Optional keyComparer As IEqualityComparer(Of TKey) = Nothing) As IEnumerable(Of KeyValuePair(Of TKey, Integer))
Typparameter
- TSource
Der Typ der Elemente von source.
- TKey
Der Typ des keySelectorvon .
Parameter
- source
- IEnumerable<TSource>
Eine Sequenz, die Elemente enthält, die gezählt werden sollen.
- keySelector
- Func<TSource,TKey>
Eine Funktion zum Extrahieren des Schlüssels für jedes Element.
- keyComparer
- IEqualityComparer<TKey>
Eine IEqualityComparer<T> zum Vergleichen von Schlüsseln.
Gibt zurück
Eine Aufzählung, die die Frequenzen der einzelnen Schlüsselinstanzen enthält source.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie CountBy die Anzahl der Mitarbeiter in den einzelnen Abteilungen berechnet wird.
(string Name, int Age, string Department)[] employees =
{
("Saly", 23, "IT"),
("David", 25, "Sales"),
("Mahmoud", 22, "IT"),
("Qamar", 22, "HR"),
("Sara", 25, "IT"),
("John", 26, "HR"),
("Jaffar", 32, "Sales")
};
// Count the number of employees per department
var countPerDepartment = employees.CountBy(employee => employee.Department);
foreach (var item in countPerDepartment)
{
Console.WriteLine($"Department: {item.Key} - Employees Count: {item.Value}");
}
/*
This code produces the following output:
Department: IT - Employees Count: 3
Department: Sales - Employees Count: 2
Department: HR - Employees Count: 2
*/