Оператор While... End While (Visual Basic)

Обновлен: Ноябрь 2007

Выполняет блок операторов, пока заданное условие True.

While condition
    [ statements ]
    [ Exit While ]
    [ statements ]
End While

Компоненты

  • condition
    Обязательный. Выражение Boolean. Если condition равно Nothing, Visual Basic обрабатывает его как False.

  • statements
    Необязателен. Одна или несколько инструкций, следующих за While, которые выполняются каждый раз, когда condition равно True.

  • Exit While
    Необязателен. Передача управления за пределы блока While.

  • End While
    Обязательный элемент. Завершает определение блока While.

Заметки

Пока условие остается равным True, для повторения операторов неограниченное число раз используйте структуру While...End While. Для большей гибкости с условием, с которым происходит проверка или результат, для которого вы его проверяете, предпочтительнее использовать Оператор Do...Loop (Visual Basic). Если вы хотите повторить инструкцию заданное количество раз, Инструкция For... Next (Visual Basic) обычно является лучшим выбором.

Если condition равно True, все statements работают до тех пор, пока не встретится оператор End While. Затем управление передается оператору While и condition проверяется заново. Если condition по-прежнему равно True, процесс повторяется. Если — False, управление передается оператору, следующему за оператором End While.

Правила

  • Природа условий. Условие обычно является результатом сравнения двух значений, но оно может быть и любым выражением, значение которого при вычислении имеет тип Тип данных Boolean (Visual Basic) (True или False). Сюда же относятся значения других типов данных, например, числовых типов, преобразованные в тип Boolean.

  • Проверка условий. Оператор While всегда проверяет условие до выполнения цикла. Выполнение цикла продолжается до тех пор, пока значение условия остается True.

  • Число итераций. Если condition равно False при первом входе в цикл, оно не сработает даже один раз.

  • Вложенные циклы. Циклы While могут вкладываться друг в друга. Также можно вложить друг в друга различные виды управляющих структур. Дополнительные сведения см. в разделе Вложенные структуры управления.

  • Выход из цикла.Оператор Exit (Visual Basic) немедленно передает управление оператору, следующему за оператором End While. Выход из цикла может потребоваться при обнаружении условия, которое делает бесполезным или невозможным продолжение итераций, например ошибочное значение или запрос на завершение. Можно установить любое число операторов Exit While в любом месте цикла While. Exit While часто используется после оценки некоторого условия, например в структуре If...Then...Else.

  • **Бесконечные циклы.**Exit While, в частности, применяется для тестирования условия, которое может вызвать бесконечный цикл, т.е. цикл, повторяемый очень много раз или бесконечно. При обнаружении таких условий для выхода из цикла можно использовать Exit While. Дополнительные сведения см. в разделе Оператор Do...Loop (Visual Basic).

Пример

В этом примере используется структура While...End While для увеличения значения переменных счетчика. Операторы в цикле выполняются, пока условие True.

Dim counter As Integer = 0
While counter < 20
    counter += 1
    ' Insert code to use current value of counter.
End While
MsgBox("While loop ran " & CStr(counter) & " times")

См. также

Основные понятия

Циклические структуры

Вложенные структуры управления

Ссылки

Оператор Do...Loop (Visual Basic)

Инструкция For... Next (Visual Basic)

Тип данных Boolean (Visual Basic)

Оператор Exit (Visual Basic)