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