读书人

改变数组一个元素的值另一个也会跟

发布时间: 2014-01-23 14:48:04 作者: rapoo

求助,改变数组一个元素的值,另一个也会跟着变,为什么?

Public Class Form1

Dim i, j, k As Integer

Private Structure str_c
Dim c() As Double
End Structure

Private Structure str_b
Dim b() As str_c
End Structure

Private a(2) As str_b

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim d As str_c
ReDim d.c(39)

For i = 0 To 39
d.c(i) = 9.9
Next

For i = 0 To 2
ReDim a(i).b(10)
For j = 0 To 10
ReDim a(i).b(j).c(39)
a(i).b(j) = d
Next
Next

For i = 0 To 2
For j = 0 To 10
For k = 0 To 39
a(i).b(j).c(k) = 10 '在这里改变a(i).b(j).c(k)的值为10,为什么a(i+1).b(j).c(k)的值也会变成10?
Next
Next
Next

End Sub

End Class

[解决办法]
因为数组是引用类型

读书人网 >VB Dotnet

热点推荐