J'ai le code que je veux ressembler à ceci:
List<Type> Os;
...
foreach (Type o in Os)
if (o.cond)
return; // Quitting early is important for my case!
else
Os.Remove(o);
... // Other code
Cela ne fonctionne pas, car vous ne pouvez pas supprimer de la liste lorsque vous vous trouvez dans une boucle foreach
sur cette liste:
Existe-t-il un moyen commun de résoudre le problème?
Je peux changer de type si nécessaire.
Option 2:
List<Type> Os;
...
while (Os.Count != 0)
if (Os[0].cond)
return;
else
Os.RemoveAt(0);
... // Other code
Moche, mais ça devrait marcher.