以下のコードをご覧ください。
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
FOR ループの反復ごとに新しいオブジェクト ( と呼ばれる) が作成されるためtc.TestProperty
、常に1
. これが変数の場合に当てはまらないのはなぜk
ですかk
。これはおそらく値型と参照型の扱い方に関係していると思いますが、確認したかったのです。