Hey zusammen,
ich mache grade etwas mit einer ArrayList und bin dabei auf einen Fehler gestoßen, den ich herleiten konnte:
Code
$ObjList = ObjCreate("System.Collections.ArrayList") ; create
$ObjList.Add("Test")
$ObjList.Add("Wort")
$ObjList.Add("Hallo")
$ObjList.Add("Ja")
For $sWord in $ObjList
MsgBox(4096,"", $ObjList.count)
If checkForX($sWord) Then $ObjList.Remove($sWord)
Next
Func checkForX($sString)
Return StringInStr($sString,"e") > 0
EndFunc
Alles anzeigen
Sobald ich in der Schleife einen Wert entferne, hört die Schleife einfach auf. Egal, ob an 1. Stelle oder sonst wo. Ich würde gerne mehrere Werte aus einer ArrayList anhand von bestimmten Kriterien entfernen. Ich möchte es dafür nicht in ein Array umwandeln. Gibt es da irgendeine einfache Möglichkeit?
"Workaround" in meinem Kopf wäre ein Hilfsarray mit den Werten, die raus sollen und danach dann einfach das Array durchschleifen mit .Remove auf der ArrayList. Aber kann mir nicht vorstellen, dass das der beste Weg ist?! Dann habe ich ja auch wieder die "unschönen" ArrayAdd-Operationen