Necesito repetir en un LinkedList<T>
(en .NET 2.0) y eliminar todos los elementos de acuerdo con un criterio determinado. Fue manera fácil en virtud de Java, ya que podría hacer lo siguiente:LinkedList <T> (2.0): eliminar elementos iterativamente
Iterator<E> i = list.iterator();
while (i.hasNext()) {
E e = i.next();
if (e == x) {
// Found, so move it to the front,
i.remove();
list.addFirst(x);
// Return it
return x;
}
}
Por desgracia, en el comportamiento de .NET de IEnumerator<T>
(el equivalente de Iterator<E>
) no hay remove
método para eliminar el elemento actual de la colección. Además, en el LinkedList<T>
no hay forma de acceder a un elemento en un índice dado, para completar la tarea iterando de la última a la primera.
¿Tienes alguna idea de cómo hacerlo? ¡Muchas gracias!
¿Por qué es esto una wiki de la comunidad? No es algo subjetivo, aquí hay una respuesta definitiva. –