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


Ответы (0 шт):