For i As Integer = 1 To 10
Dim j As Integer = 10
Next
現在我的問題是,內存分配給j每次它執行內循環?或者在隨後的迭代中只賦值10?一個循環內部的變量聲明
For i As Integer = 1 To 10
Dim j As Integer = 10
Next
現在我的問題是,內存分配給j每次它執行內循環?或者在隨後的迭代中只賦值10?一個循環內部的變量聲明
不,它宣佈每一次功能和復位循環的每次迭代。
從MSDN:
即使一個變量的範圍僅限於一個塊時,其壽命仍是整個過程的。如果在該過程中多次輸入該塊,則每個塊變量將保留其先前的值。爲了避免在這種情況下出現意外結果,在塊的開始處初始化塊變量是明智的。
這篇文章可以幫助你(變量的作用域和生存期)http://msdn.microsoft.com/en-us/library/1t0wsc67.aspx