Refactof resharper LINQ

Рейтинг: -1Ответов: 1Опубликовано: 14.02.2023

Мне решарпер подсказывает, что можно использовать метод Any()

if (methodInfo.CustomAttributes
    .Where(x => x.AttributeType == typeof(ApiMethodAttribute))
    .Select(x => x)
    .Count() == 0)

Как мне использовать подсказку решарпера? Буду очень благодарен за помощь

Ответы

▲ 2Принят
  1. .Count() == 0 - меняется на .Any(), с добавлением отрицания перед всем условием, так как нужно проверить, что ничего нет, а не что-то есть

  2. Select - никак не влияет на количество элементов, следовательно его можно убрать

  3. у .Any есть специальная перегрузка принимающая предикат

таким образом исходный код может стать таким:

if (!methodInfo.CustomAttributes
    .Any(x => x.AttributeType == typeof(ApiMethodAttribute)))