Ho una lista che contiene alcuni elementi di tipo stringa.Rimuovi elementi di lista a determinati indici
List<string> lstOriginal;
Ho un'altra lista che contiene gli identi che dovrebbero essere rimossi dal primo elenco.
List<int> lstIndices;
avevo cercato di fare il lavoro con RemoveAt() metodo,
foreach(int indice in lstIndices)
{
lstOriginal.RemoveAt(indice);
}
ma si blocca e mi ha detto che "indice è fuori portata."
da dove viene l'elenco degli indici? perché si eliminano gli indici non presenti nell'elenco – Frederiek
Quando si rimuove un elemento, vengono modificati gli indici degli elementi che vengono dopo di esso. Se hai indici 1 e 3, quando ne rimuovi uno, l'indice 3 non punta più sullo stesso oggetto. Ora potrebbe essere fuori dai limiti, ed è per questo che ottieni questa eccezione. – SomeWritesReserved
Arresto anomalo perché quando si rimuove il primo elemento dall'elenco, tutti gli indici cambiano di conseguenza. – bporter