Шаблон поиска ReSharper для.First([С условием]), игнорирующий.First()
Как гласит заголовок, есть ли способ использовать шаблон поиска ReSharper для поиска всех экземпляров.First (), который содержит условие, игнорируя.First()?
Мотивация для этого поиска в ответ на вопрос
Почему LINQ .Where(предикат).First () быстрее, чем.First (предикат)?
Мы хотели бы увидеть, сколько раз мы используем First () с условием. Поиск будет расширен для поиска.FirstOrDefault().
2 ответа
Вы создаете шаблон для этого о том, как вы ожидаете. Перейдите в ReSharper > Найти> Поиск по шаблону и введите этот шаблон:
$enumerable$.First($args$)
Затем в списке заполнителей справа создайте два заполнителя:
- Добавьте Placeholder > Expression и назовите его
enumerable
, Не указывайте тип (я пытался указать тип какIEnumerable<out T>
и потомки, но по какой-то причине, которые не смогли найти какое-либо использование; но если вы не указываете тип, это работает). - Добавить заполнитель> Аргумент, назовите его
args
установите флажок "Ограничить минимальное количество аргументов" и оставьте значение 1.
Я проверил это, и он нашел list.First(i => i%2 == 0)
но нет list.First()
кажется, именно то, что вы просите.
Вы можете просто использовать VisualStudio Find и использовать параметр RegEx
Что-то вроде: .First(\({.+}\));
И вы также можете использовать Find and Replace, чтобы изменить все ваши предикаты на Where +
First`