Problema con ciclo foreach....Ciclo al contrario

mercoledì 23 luglio 2008 - 14.42

stuzzo Profilo | Junior Member

Salve a tutti!
Ho un problema con un ciclo foreach e penso di aver capito anche quale sia....Questa è la porzione di codice:
foreach (object obj in objprova.Lista)
{
if (qualcosa)
{
objprova.Lista.Remove(obj);
}

}

Mi viene dato un errore, che dice che l'enumerazione non può essere eseguita...Penso che questo errore si riferisce al fatto che se elimino un oggetto da una lista, poi questa ha problema nel ciclare.
Ho letto che dovrebbe risolversi questo problema, ciclando l'arraylist al contrario...ma come si fa???
...Perdonate la mia ignoranza

Brainkiller Profilo | Guru

>Mi viene dato un errore, che dice che l'enumerazione non può
>essere eseguita...Penso che questo errore si riferisce al fatto
>che se elimino un oggetto da una lista, poi questa ha problema
>nel ciclare.
>Ho letto che dovrebbe risolversi questo problema, ciclando l'arraylist
>al contrario...ma come si fa???

Eh si.
Prova con un ciclo normale del tipo for/do..while partendo invece che da 0 dal numero di elementi nell'array e andando all'indietro (index--) fino a zero.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

stuzzo Profilo | Junior Member

Scusami, ma non riesco proprio a capire come applicare l'indice all'arraylist, visto che mi dice che non è possibile indicizzare degli oggetti nella lista. Riusciresti ad applicare questa cosa al pezzetto di codice che ti ho fornito poco fa?
Ti ringrazio
Ciao

Brainkiller Profilo | Guru

>Scusami, ma non riesco proprio a capire come applicare l'indice
>all'arraylist, visto che mi dice che non è possibile indicizzare
>degli oggetti nella lista. Riusciresti ad applicare questa cosa
>al pezzetto di codice che ti ho fornito poco fa?

Esempio in codice C#:

ArrayList g = new ArrayList(); g.Add("elemento"); g.Add("elemento2"); g.Add("elemento3"); for (int i = g.Count-1; i >= 0; i--) Console.WriteLine(g[i]);

L'output generato è :

elemento3 elemento2 elemento

Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5