For now, the best I could think of is:
bool oneMoreTime = true; while (oneMoreTime) { ItemType toDelete=null; oneMoreTime=false; foreach (ItemTyp
A forward variation on the backward for loop:
for
for (int i = 0; i < collection.Count; ) if (ShouldBeDeleted(collection[i])) collection.RemoveAt(i) else i++;