В .NET 9 команда Microsoft продолжает добавлять и оптимизировать имеющийся функционал в библиотеке LINQ, и одним из нововведений стал метод CountBy. Этот метод открывает новые возможности для удобной и лаконичной работы с данными, позволяя эффективно группировать элементы и подсчитывать их количество.
🔍Как работает новый метод?
- Группирует элементы по заданному ключу;
- Подсчитывает количество элементов в каждой группе;
- Возвращает результат в виде коллекции пар «ключ-значение».
Ранее, чтобы, например, подсчитать количество вхождений каждого символа в заданной строке, необъодимо было выполнить следующие манипуляции:
var charCounts = input
.Where(c => !char.IsWhiteSpace(c))
.GroupBy(c => c)
.Select(group => new { Key = group.Key, Count = group.Count() });
Теперь CountBy делает этот процесс проще и менее подверженным ошибкам. Тот же алгоритм реализуется следующим кодом:
var charCounts = input
.Where(c => !char.IsWhiteSpace(c))
.CountBy(c => c);
🍰Что скажете? Очередная сахарная сладость или годное?