Практическое руководство. Переход к следующей итерации цикла
Обновлен: Ноябрь 2007
После завершения обработки текущей итерации цикла Do, For или While можно перейти к следующей итерации с помощью Оператор Continue (Visual Basic).
Пропуск до следующей итерации
Чтобы перейти к следующей итерации цикла For... Next
Запишите цикл For... Next обычным способом.
Используйте Continue For в любом месте, где необходимо завершить текущую итерацию и перейти сразу к следующей итерации.
Public Function findLargestRatio(ByVal high() As Double, _ ByVal low() As Double) As Double Dim ratio As Double Dim largestRatio As Double = Double.MinValue For counter As Integer = 0 To low.GetUpperBound(0) If Math.Abs(low(counter)) < System.Double.Epsilon _ Then Continue For ratio = high(counter) / low(counter) If Double.IsInfinity(ratio) OrElse Double.IsNaN(ratio) _ Then Continue For If ratio > largestRatio Then largestRatio = ratio Next counter Return largestRatio End Function
Пропуск из вложенного внутрь цикла
Если имеются циклы Do, For или While, вложенные один в другой, можно пропустить до следующей итерации любого уровня вложения. Это возможно только тогда, когда циклы принадлежат различным типам. Если у вас есть вложенные циклы одного типа, например, вложенные циклы While, Continue While переходит к следующей итерации цикла внутреннего цикла While.
Чтобы перейти к следующей итерации цикла Do из вложенного внутрь цикла For
Запишите вложенные циклы обычным способом.
Используйте Continue Do в любом месте, где требуется завершить текущую итерацию внутреннего цикла For и перейти к следующей итерации внешнего цикла Do.
Public Sub divideElements(ByRef matrix(,) As Double) Dim i As Integer = -1 Do Until i > matrix.GetUpperBound(0) i += 1 For j As Integer = 0 To matrix.GetUpperBound(1) If matrix(j, j) = 0 Then Continue Do matrix(i, j) /= matrix(j, j) Next j Loop End Sub
См. также
Задачи
Практическое руководство. Передача управления за пределы структуры управления
Практическое руководство. Повторное выполнение нескольких инструкций
Практическое руководство. Запуск нескольких операторов для каждого элемента в коллекции или массиве
Практическое руководство. Улучшение быстродействия цикла
Основные понятия
Вложенные структуры управления
Ссылки
Оператор While... End While (Visual Basic)
Оператор Do...Loop (Visual Basic)
Инструкция For... Next (Visual Basic)