VB.NET переменная область - PullRequest
2 голосов
/ 01 марта 2009

Являются ли переменные, объявленные в операторе case, локальными для этого оператора case -

Например, в следующем коде безопасно ли использовать z как этот? Или компилятор просто помещает z в область действия процедуры?

<code>
        Select Case x
            Case 6
                Dim z As Integer = 6
            Case 7
                Dim z As Integer = 7
        End Select

1 Ответ

3 голосов
/ 01 марта 2009

Это безопасно. Вы можете проверить это, попытавшись скомпилировать следующее:

Dim x As Integer
Select Case x
    Case 6
        Dim z As Integer = 6
    Case 7
        Dim z As Integer = 7
End Select
Console.Write(z)

И заметив, что вы получите ошибку компиляции.

Конечно, это сокращает читабельность ИМО. Возможно, вам все равно следует объявить об этом в начале процедуры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...