Kann String in Liste nicht ersetzen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Ignus.

    Kann String in Liste nicht ersetzen

    Hallo,

    ich komme zur Zeit nicht weiter. Ich möchte eine Liste nach einem Eintrag durchsuchen. Danach soll der nächste Eintrag ersetzt werden.

    Hier mal der Code:

    VB.NET-Quellcode

    1. Option Strict On
    2. Module Daten
    3. Sub VerzRdy(X As List(Of String))
    4. Dim Found As Boolean = False
    5. Dim I As Integer = 0
    6. For Each Stri In X
    7. If Found Then 'nächster Eintrag
    8. For Each Drive In IO.DriveInfo.GetDrives
    9. If Drive.IsReady Then
    10. If IO.Directory.Exists(Drive.ToString & Stri) Then
    11. MsgBox("found" & " " & Drive.ToString & Stri)
    12. X(I) = (Drive.ToString & Stri) 'das macht Probleme - I ist in dem Fall 7
    13. End If
    14. End If
    15. Next
    16. Found = False
    17. End If
    18. If Stri.Contains("01") Then
    19. Found = True
    20. End If
    21. I = I + 1
    22. Next
    23. 'X(7) = "wert" 'Nur ein Test - das funktioniert
    24. For Each S In X
    25. MsgBox(S)
    26. Next
    27. End Sub
    28. End Module


    Mein Problem ist in Zeile 12? Ohne diese Zeile läuft alles durch, mit dieser Zeile bricht die Schleife einfach ab und das Modul wird beendet (ohne Fehlermeldung). Wo ist da der Fehler?

    MFG Ignus
    @EaranMaleasi Jou, die Aufzählung wurde verändert.

    @Ignus Machst Du

    VB.NET-Quellcode

    1. Dim Found As Boolean = False
    2. 'Dim I As Integer = 0
    3. For i = 0 To X.Count - 1
    4. Dim Stri = X(i)
    5. ' ...
    6. 'i = i + 1
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!