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
objectsparametro in modo daListevitare 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
IEnumerablealListall'inizio del metodo:
public List<object> Foo(IEnumerable<object> objects)
{
var objectList = objects.ToList();
// ...
}
Ma questo è solo imbarazzante .
Cosa faresti in questo scenario?