vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
GoTo bei Schleife und gen. List verhindern 
Autor: Maas
Datum: 25.02.09 12:37

Hallo Leute,
Bisher konnte ich es eigentlich immer verhindern GoTo zu vermeiden, aber diesmal hab ich irgendwie ein Brett vorm Kopf.

Also, ich habe eine TestClass...
Public Class TestClass
    Public Val1 As String
    Public Val2 As String
 
    Public Sub New(ByVal val1 As String, ByVal val2 As String)
        Me.Val1 = val1
        Me.Val2 = val2
    End Sub
End Class
und mein Haupt-Form...
Public Class Form1
    Private mTestList As New List(Of TestClass)
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        With mTestList
            .Add(New TestClass("a", "1"))
            .Add(New TestClass("b", "2"))
            .Add(New TestClass("c", "3"))
            .Add(New TestClass("d", "4"))
            .Add(New TestClass("e", "5"))
        End With
    End Sub
 
    Private Sub CheckList()
Begin:
        For i As Integer = 0 To mTestList.Count - 1
            If mTestList(i).Val1 = "b" Or mTestList(i).Val2 = "5" Then
                mTestList.RemoveAt(i)
                GoTo Begin
            End If
        Next
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        CheckList()
    End Sub
End Class
Die Liste wird also gefüllt und es soll dann nach bestimmten Einträgen gesucht werden. Sind diese gefunden, sollen sie aus der Liste entfernt werden.
Das funtkioniert bis zum ersten Eintrag auch, nur danach nicht mehr da ja die Liste verändert wurde. Die Schleife passt sich nicht der Veränderung an und versucht über die Länge der Liste hinaus zu überprüfen. Deshalb hab ich erstmal ein GoTo eingefügt, damit er wieder von vorn beginnt.
Gibt es da eine bessere Lösung.

Danke im Voraus

Maas
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
GoTo bei Schleife und gen. List verhindern1.064Maas25.02.09 12:37
Re: GoTo bei Schleife und gen. List verhindern820Jonny13225.02.09 12:43
Re: GoTo bei Schleife und gen. List verhindern753Chris748325.02.09 12:44
Re: GoTo bei Schleife und gen. List verhindern764chrixko25.02.09 12:48
Re: GoTo bei Schleife und gen. List verhindern719Chris748325.02.09 12:51
Re: GoTo bei Schleife und gen. List verhindern717Maas25.02.09 13:01
Re: GoTo bei Schleife und gen. List verhindern721ModeratorDaveS25.02.09 13:17

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel