La suppression d'une LinkedList

De la question précédente j'ai demandé, RemoveAll est la meilleure façon de supprimer à partir d'un List<> basé sur une condition. Curieux de savoir quelle est la meilleure façon de supprimer à partir d'un LinkedList comme il n'y a pas de RemoveAll fonction.

List<ItemClass> itemsToErase = new List<ItemClass>();
    foreach(ItemClass itm in DS)
    {
           if(itm.ToBeRemoved)
                itemsToErase .Add(itm);
    }
    foreach(ItemClass eraseItem in itemsToErase)
    {
          DS.Remove(eraseItem );
    }        

EDIT: DS est de type LinkedList<ItemClass>

OriginalL'auteur devnull | 2011-11-19