Обучение
Модуль
Управление областью переменной и логикой с помощью блоков кода в C# - Training
Используйте блоки кода более уверенно, понимая, как они влияют на видимость и доступность конструкций более высокого и нижнего уровней в коде.
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Управляющие конструкции можно поместить в другие управляющие конструкции, например, блок If...Then...Else
в цикле For...Next
. Как сообщается, вложено заявление элемента управления, размещенное внутри другого элемента управления.
Структуры управления в Visual Basic можно вложить в столько уровней, сколько нужно. Обычно рекомендуется сделать вложенные структуры более читаемыми, отступив тело каждого из них. Редактор интегрированной среды разработки (IDE) автоматически выполняет это.
В следующем примере процедура sumRows
объединяет положительные элементы каждой строки матрицы.
Public Sub sumRows(ByVal a(,) As Double, ByRef r() As Double)
Dim i, j As Integer
For i = 0 To UBound(a, 1)
r(i) = 0
For j = 0 To UBound(a, 2)
If a(i, j) > 0 Then
r(i) = r(i) + a(i, j)
End If
Next j
Next i
End Sub
В предыдущем примере первый Next
оператор закрывает внутренний For
цикл, а последняя Next
инструкция закрывает внешний For
цикл.
Аналогичным образом, в вложенных инструкциях If
инструкции End If
автоматически применяются к ближайшей предыдущей инструкции If
. Вложенные Do
циклы работают аналогичным образом — внутренний Loop
оператор соответствует внутреннему Do
оператору.
Примечание
Для многих структур управления при щелчке ключевого слова выделены все ключевые слова в структуре. Например, при щелчке If
в конструкции If...Then...Else
выделены все экземпляры If
, Then
, ElseIf
, Else
, а также End If
в конструкции. Чтобы перейти к следующему или предыдущему выделенному ключевому слову, нажмите клавиши CTRL+SHIFT+СТРЕЛКА ВНИЗ или CTRL+SHIFT+СТРЕЛКА ВВЕРХ.
Можно вложить одну структуру управления в другую. В следующем примере используется With
блок внутри For Each
цикла и вложенные If
блоки внутри With
блока.
For Each ctl As System.Windows.Forms.Control In Me.Controls
With ctl
.BackColor = System.Drawing.Color.Yellow
.ForeColor = System.Drawing.Color.Black
If .CanFocus Then
.Text = "Colors changed"
If Not .Focus() Then
' Insert code to process failed focus.
End If
End If
End With
Next ctl
Вы не можете перекрывать структуры управления. Это означает, что любая вложенная структура должна быть полностью содержана в следующей по вложенности внутренней структуре. Например, следующее расположение недопустимо, так как For
цикл завершается до завершения внутреннего With
блока.
Компилятор Visual Basic обнаруживает такие перекрывающиеся структуры управления и сигнализирует об ошибке во время компиляции.
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
Обучение
Модуль
Управление областью переменной и логикой с помощью блоков кода в C# - Training
Используйте блоки кода более уверенно, понимая, как они влияют на видимость и доступность конструкций более высокого и нижнего уровней в коде.
События