c# Посчитать количество элементов в цикле foreach
Всем привет. Нужно посчитать количество элементов по условию. Как можно это оформить красивее, без лишних переменных (например, elementsCount)?
Условие: Элементы находятся в коллекции, где есть несколько названий классов. Мне нужно посчитать только те классы, которые имеют название BaseWeapon.
int elementsCount = 0;
foreach (var item in items.Select(className => className.GetType().Name == nameof(BaseWeapon)).Where(result => result is true))
elementsCount++;
return elementsCount;
Нашёл вот такой вариант:
return items.Select(className => className.GetType().Name == nameof(MenuProductItemVm)).Where(result => result is true).Count();
Но возник вопрос, не будет ли долгим ожидание, если количество элементов будет больше 100000 и т.д.? Нужно ли здесь на разные потоки данный Linq. Насколько я помню, есть библиотека PLinq