![]() |
| |||
| Bonjour , Est ce que quelqu'un peut me donner la version correct du code ci dessous; For Each Com As clsSocketCommunication In Me.SocketCommunicationCollection If Com.IsObsolete Then Me.SocketCommunicationCollection.Remove(Com) End If Next A l'evidence celui ci ne marche pas, mais je vois pas comment faire differement. Merci pour votre aide Fred |
| | ||||
| ||||
| |
| |||
| L'idée est d'accéder à la collection via un index allant de Count-1 à 0 (For i As Integer=MaConnection.Count-1 to 0 Step -1) Le problème est que si on parcours la collection de l'élément 0 à l'élément Count-1, la suppression d'un élément modifie l'index de tous les éléments qui suivent et qui n'ont pas encore été traités ce qui pose donc problème (que ce soit soit avec un index ou un "for each"). En parcourant la sélection depuis la fin, la suppression d'un élément n'a aucun impact sur les éléments précédents ce qui permet donc de parcourir la collection sans problème tout en y supprimant des éléments... -- Patrice "fred" <fred***voila.fr> a écrit dans le message de groupe de discussion : OSGocxhCJHA.3668***TK2MSFTNGP05.phx.gbl... > Bonjour , > > Est ce que quelqu'un peut me donner la version correct du code ci dessous; > > For Each Com As clsSocketCommunication In Me.SocketCommunicationCollection > > If Com.IsObsolete Then > > Me.SocketCommunicationCollection.Remove(Com) > > End If > > Next > > A l'evidence celui ci ne marche pas, mais je vois pas comment faire > differement. > > Merci pour votre aide > > > > Fred > > > |
| |||
| Bonjour et merci pour la solution je vais iterer sur l'index par le bas. Frederic "Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news: 80960580-B2DC-4E64-B3A2-BD6D7DA3ABB5***microsoft.com... > L'idée est d'accéder à la collection via un index allant de Count-1 à 0 > (For i As Integer=MaConnection.Count-1 to 0 Step -1) > > Le problème est que si on parcours la collection de l'élément 0 à > l'élément Count-1, la suppression d'un élément modifie l'index de tous les > éléments qui suivent et qui n'ont pas encore été traités ce qui pose donc > problème (que ce soit soit avec un index ou un "for each"). > > En parcourant la sélection depuis la fin, la suppression d'un élément n'a > aucun impact sur les éléments précédents ce qui permet donc de parcourir > la collection sans problème tout en y supprimant des éléments... > > -- > Patrice > > "fred" <fred***voila.fr> a écrit dans le message de groupe de discussion : > OSGocxhCJHA.3668***TK2MSFTNGP05.phx.gbl... >> Bonjour , >> >> Est ce que quelqu'un peut me donner la version correct du code ci >> dessous; >> >> For Each Com As clsSocketCommunication In >> Me.SocketCommunicationCollection >> >> If Com.IsObsolete Then >> >> Me.SocketCommunicationCollection.Remove(Com) >> >> End If >> >> Next >> >> A l'evidence celui ci ne marche pas, mais je vois pas comment faire >> differement. >> >> Merci pour votre aide >> >> >> >> Fred >> >> >> > |
| |
| |
![]() |
| Tags: each, remove |
| Outils de la discussion | |
| Modes d'affichage | |
| |