PC Review


Reply
Thread Tools Rate Thread

Best way to remove items from a List(Of ...)

 
 
BobRoyAce
Guest
Posts: n/a
 
      11th Jan 2012
Lets say that I have two classes, ClassA and ClassB. Further suppose
that ClassA has, as one of it's properties, a List(Of ClassB). For
example...

Public Class ClassA
Private _Property1 as integer
Private _Property2 as List(Of ClassB)

Public Property Property1 as integer
...
End Property

Public Readonly Property Property2 as List(Of ClassB)
...
End Property
End Class

Now, one of the properties in ClassB is IsToBeDeleted. What I want to
be able to do is to delete each of the ClassB items in the List(Of
ClassB) if their IsToBeDeleted property = True.

What is the best way to implement something like this?

I tried the following, but this doesn't work...

For Each oClassB As ClassB In _Property2
If (oAssociatedIso.IsToBeRemoved = True) Then
_AssociatedIsos.Remove(oAssociatedIso)
_ItemsWereRemovedFrom = True
End If
Next

Once an item is removed from the List, the collection has changes and
the Next statement raises an exception as a result.
 
Reply With Quote
 
 
 
 
Andrew Morton
Guest
Posts: n/a
 
      11th Jan 2012
BobRoyAce wrote:
> I tried the following, but this doesn't work...
>
> For Each oClassB As ClassB In _Property2
> If (oAssociatedIso.IsToBeRemoved = True) Then
> _AssociatedIsos.Remove(oAssociatedIso)
> _ItemsWereRemovedFrom = True
> End If
> Next
>
> Once an item is removed from the List, the collection has changes and
> the Next statement raises an exception as a result.


Try an ordinary For i=someList.Count-1 To 0 Step -1 loop.

--
Andrew


 
Reply With Quote
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off



Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 01:58 AM.