首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

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

2014-01-23 
求助,改变数组一个元素的值,另一个也会跟着变,为什么?Public Class Form1Dim i, j, k As IntegerPrivate S

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

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

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

热点排行