объявление переменной внутри цикла - PullRequest
3 голосов
/ 26 августа 2011
    For i As Integer = 1 To 10
        Dim j As Integer = 10
    Next

Теперь мой вопрос: выделяется ли память для j каждый раз, когда она выполняется внутри цикла for?или на последующих итерациях присваивается только значение 10?

Ответы [ 2 ]

1 голос
/ 26 августа 2011

Нет, она объявляется один раз для каждой функции и сбрасывает каждую итерацию цикла.

То же, что и этот вопрос: Использует ли один из них больше ресурсов, чем другой?

1 голос
/ 26 августа 2011

Из MSDN:

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

Эта статья может вам помочь (область действия переменной и время жизни) http://msdn.microsoft.com/en-us/library/1t0wsc67.aspx

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