Du skal ikke bruge en foreach, du skal bruge en while. Fx som det her pseudokode
- List<myobject> mylist = new List<myobject>();
- int counter = 0;
- while(counter <= mylist.Count)
- {
- myobject myObject = list[counter];
- if(myObject .deletable)
- {
- mylist.delete(myObject );
- }
- else
- {
- counter++;
- }
- }
Ideen er at du ikke skal inkrementere når du sletter, ellers vil du jo springe noget over. Problemet med foreach løkken er at du fjerner fra den du gennemløber.
Indlæg senest redigeret d. 13.09.2012 14:41 af Bruger #2730