Re: generic List<>
Efran Cobisi <[email protected]>
| Newsgroups | gmane.comp.windows.devel.dotnet.cx |
|---|---|
| Organization | QBGROUP SpA |
| Message-ID | <[email protected]> |
Nope. By design you are not allowed to make any changes to the
collection you are iterating.
The workaround for this depends on the situation. For most scenarios,
you could just copy the references of the objects you wish to be deleted
in another collection and then, while iterating the latter, delete these
objects from the former.
List<myObject> myTemp = new List<myObject>();
foreach (MyObject mo in myObjects)
{
if (mo.CanBeRemoved==true)
myTemp.Add(mo);
}
foreach (MyObject mo in myTemp)
myObjects.Remove(mo);
HTH
Efran Cobisi, cobisi.com
Peter Osucha wrote:
> I have a generic List<myObject> collection 'myObjects'. MyObject instances
> have a bool property 'CanBeRemoved'.
>
> But apparently, it is invalid to
>
> foreach (MyObject mo in myObjects)
> {
> if (mo.CanBeRemoved==true) myObjects.Remove(mo);
> }
>
> Is there a way to remove items from such collection while looping through
> the collection?
>
> Peter
>
> ===================================
> This list is hosted by DevelopMentor® http://www.develop.com
>
> View archives and manage your subscription(s) at http://discuss.develop.com
>
===================================
This list is hosted by DevelopMentor® http://www.develop.com
View archives and manage your subscription(s) at http://discuss.develop.com