Nel mio codice ho bisogno di utilizzare IEnumerable<>
più volte, quindi ottenere l'errore Resharper di "Possibile enumerazione multipla di IEnumerable
".
Codice di esempio:
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;
}
- Posso modificare il
objects
parametro in modo daList
evitare quindi la possibile enumerazione multipla ma non ottengo l'oggetto più alto che posso gestire. - Un'altra cosa che posso fare è quello di convertire il
IEnumerable
alList
all'inizio del metodo:
public List<object> Foo(IEnumerable<object> objects)
{
var objectList = objects.ToList();
// ...
}
Ma questo è solo imbarazzante .
Cosa faresti in questo scenario?