Enumerable.CountBy<TSource,TKey> Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert het aantal elementen in de bronreeks gegroepeerd op sleutel.
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))
Type parameters
- TSource
Het type elementen van source.
- TKey
Het type sleutel dat wordt geretourneerd door keySelector.
Parameters
- source
- IEnumerable<TSource>
Een reeks die elementen bevat die moeten worden geteld.
- keySelector
- Func<TSource,TKey>
Een functie om de sleutel voor elk element te extraheren.
- keyComparer
- IEqualityComparer<TKey>
Een IEqualityComparer<T> om sleutels te vergelijken met.
Retouren
Een opsomming die de frequenties bevat van elke sleutel die voorkomt in source.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe CountBy u het aantal werknemers in elke afdeling kunt berekenen.
(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
*/