将结构数组分配给具有相同结构的另一个数组

时间:2010-10-12 13:47:57

标签: .net vb.net boxing unboxing

在Vb.net中,我试图将一个结构数组分配给另一个具有相同结构的数组

  Dim info() As assemblyInfo
  Dim info2() As assemblyInfo

    Structure assemblyInfo
        Dim Name As String
        Dim ClassTpys() As ClassTyp
    End Structure

Private Sub test()

info2 = info

ifo的任何变化都会反映在info2中,这个assignmnet发生在byRef。

我不希望任何信息的变化反映在info2中,反之亦然,在分配后,我该如何实现?

2 个答案:

答案 0 :(得分:2)

这种情况正在发生,因为info2=info只是将信息的引用分配给info2。试试info.CopyTo(info2, 0)

答案 1 :(得分:1)

数组是引用类型,因此在分配时,实际上是指定引用。 您需要Array.Copy方法http://msdn.microsoft.com/en-us/library/k4yx47a1.aspx