Break und Continue sind besondere Anweisungen innerhalb von Loop-Kontroll-Strukturen.
Eine Datei wird zum Lesen geöffnet. Dann wird der Inhalt der Datei zeilenweise ausgelesen und jede Zeile – unter bestimmten Voraussetzungen – in einem Array gespeichert:
hFile = OPEN sFilePath For Input WHILE NOT Eof(hFile) ' Solange noch nicht das Datei-Ende erreicht ist ... LINE INPUT #hFile, sLine ' ... wird eine Zeile aus der Datei ausgelesen sLine = Trim(sLine) ' ... werden Leerzeichen am Ende und am Anfang der Zeile entfernt IF NOT sLine THEN CONTINUE ' ... wird eine leere Zeile übergangen → weiter mit neuem Schleifen-Durchlauf IF InStr("#;'", Left$(sLine)) THEN CONTINUE ' ... wird ein Kommentar übergangen → weiter ... ... aFileArray.Add(sLine) WEND ' NOT Eof(hFile) CLOSE #hFile
Das Beispiel 2 greift einen Fall auf, in dem zwei verschachtelte For-Kontroll-Strukturen bei der Erfüllung einer bestimmten Bedingung verlassen werden sollen:
Dim iN, iI As Integer Dim bBreak As Boolean = False For iN = 0 To aArray.Max For iI = 0 To Array[iN].Max If iX = aArray[iN][iI] Then bBreak = True Break Endif Next If bBreak Then Break Next
Im dritten Beispiel werden aus einem Array nur die Zahlen in einem anderen Array gespeichert, die ganzzahlige Kubikwurzeln sind:
Private Function CubicNumbers(aArray As Integer[]) As Integer[] Dim iNumber As Integer Dim aResult As New Integer[] For Each iNumber In aArray If Frac(Cbr(iNumber)) <> 0 Then CONTINUE ' Zahlen überspringen, deren Kubikwurzel keine Ganzzahl ist aResult.Add(iNumber) Next Return aResult End