[C#] [WinForms] Chercher, effacer dans un ArrayList
Bonjour tout le monde,
Mon problème sur les ArrayList est au niveau de la recherche et de la suppression.
Par exemple j'ai un ArrayList qui s'appelle ligne
et j'ai une classe objet qui s'appelle Trace
Alors pour accèder à chaque ligne je fais ceci :
Code:
1 2 3 4 5
|
for (int x = 0 ; x < ligne.Count ; x++)
{
Trace mytrace = (Trace)ligne[x];
} |
Et à priori ca fonctionne.... Mais voila, comment supprimer un élément sur cette boucle ? car si j'efface un élément de ligne la boucle ne sera plus valide... De plus, y a t - il un moyen de faire une recherche d'un élément précis sans passer par une boucle... j'ai trouvé IComparer
mais c'est pour trier, pas pour rechercher.
Voila, merci de votre aide, pour cette question pas facile facile..
Re: [C# WinForms] chercher, effacer dans un Arraylist
Code:
1 2 3 4 5 6 7 8 9 10
|
foreach (Trace mytrace in ligne)
{
// utiliser l'élément courant
mytrace.fonctionMembre();
// supprimer l'élément suivant un critère 'MustBeRemoved'
if (mytrace.MustBeRemoved)
ligne.Remove(mytrace);
} |
J'ai pas l'occasion de tester le code donné, mais je pense que ça devrait fonctionner pour parcourir un ArrayList et supprimer certains éléments.
A vérifier donc.
Sinon, pour rechercher un élément dans une liste, intéresse toi à
ArrayList.IndexOf(Object) et ArrayList.LastIndexOf(Object)