请看看下面的代码:.NET - 块级范围
Public Class TestClass
Public TestProperty As Integer
End Class
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object,
ByVal e As System.EventArgs) Handles Me.Load
Dim i As Integer
Dim j As Integer
For j = 0 To 2
For i = 0 To 10
Dim k As Integer
Dim tc As TestClass
tc = New TestClass
tc.TestProperty = tc.TestProperty + 1
k = k + 1
Next
Next
End Sub
End Class
有上的每一个迭代循环创造了一个新的对象(被称为tc
),所以tc.TestProperty
总是1
。为什么变量k
的情况并非如此,即每次迭代时k
的值增加1?我意识到这可能与如何处理值类型和引用类型有关,但我想检查。
因为你没有'k'到'k + 1'的初值。你将它初始化为“i + 1”。 – CodesInChaos 2012-07-30 06:34:11
@CodesInChaos,我已将i + 1更改为k + 1。 – w0051977 2012-07-30 06:36:37
好吧,通过这个编辑,我现在对你编辑的 – 2012-07-30 06:36:55