将一个结构数组分配给另一个具有相同结构的数组
在 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 中,此 allocatemnet 是通过Ref 发生的。
我不希望信息的任何更改反映在 info2 中,反之亦然,在分配后,我怎样才能实现这一目标?
In Vb.net I am trying to assign an array of structure to another array of same structure
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
any change in ifo gets reflected in info2, this assignmnet is happening byRef.
I don't want any change in info to get reflected in info2 and vice-versa, after the assignment, how can I achieve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
发生这种情况是因为
info2=info
只是将 info 的引用分配给 info2。尝试 info.CopyTo(info2, 0)This is happening because
info2=info
is just assigning the reference of info to info2. Tryinfo.CopyTo(info2, 0)
数组是引用类型,因此当您分配它时,您实际上分配了对它的引用。
您需要 Array.Copy 方法 http://msdn。 microsoft.com/en-us/library/k4yx47a1.aspx
Array is reference type so when you assign it you assign reference to it actually.
You need
Array.Copy
method http://msdn.microsoft.com/en-us/library/k4yx47a1.aspx