В моем коде нужно несколько раз использовать IEnumerable<>
, чтобы получить ошибку Resharper "Возможное множественное перечисление IEnumerable
".
Пример кода:
public List<object> Foo(IEnumerable<object> objects)
{
if (objects == null || !objects.Any())
throw new ArgumentException();
var firstObject = objects.First();
var list = DoSomeThing(firstObject);
var secondList = DoSomeThingElse(objects);
list.AddRange(secondList);
return list;
}
- Я могу изменить параметр
objects
какList
, а затем избежать возможного множественного перечисления, но тогда я не получу самый высокий объект, который я могу обработать. - Еще одна вещь, которую я могу сделать, - преобразовать
IEnumerable
вList
в начале метода:
public List<object> Foo(IEnumerable<object> objects)
{
var objectList = objects.ToList();
// ...
}
Но это просто неудобно.
Что бы вы сделали в этом сценарии?