... Dort ist der Umweg über den Index i.A. nicht möglich, deshalb ist der obige ein häufig beschrittener Weg.
Na ja, wenn du noch unbedingt mit .NET 2 hantieren musst, ja. Aber mit .NET 3.5 oder höher geht das aber noch einfacher
Code:
foreach (var item in myEnumerable.Where(ItemIsNotValidAnymore))
{
myEnumerable.Remove(item);
}
...
bool ItemIsNotValidAnymore(MyEnumerableElement item)
{
...
}
Da braucht man noch nicht einmal mehr Kommentare.