Enumerable.CountBy<TSource,TKey> Methode

Definition

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

Gilt für: