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

[请问]structure自定义数据类型怎么按值复制

2012-07-15 
[请教]structure自定义数据类型如何按值复制?VB.NET codestructure myDATAdim x() as doubleend structure

[请教]structure自定义数据类型如何按值复制?


VB.NET code
structure myDATA    dim x() as doubleend structuresub test()    dim data1 as myDATA   dim data2 as myDATA   redim data1.x(15)   redim data2.x(8)      ''分别对data1和data2的操作   ''   ''   ''对data1和data2操作结束   data1=data2   '直接将data2赋值给data1,当data2在以后的操作中发生改变后data1也会发生改变end sub


代码如上,问题如下:
(1)当直接将data2赋值给data1,当data2在以后的操作中发生改变后data1也会发生改变,也就是说直接赋值的是按引用传递的;
(2)因为自定义数据myDATA中的x在不同的数据data1和data2中的数据长度不同,所以用for循环一个个的赋值过去太麻烦,能否有快捷的方式直接将data2按值(而非按引用)赋值给data1??



谢谢~~


[解决办法]
笨办法,把位置放对,把data1=data2放到最后执行
[解决办法]
你应该用 Class ,当只有简单类型的时候用 Clone()

但是 Array 的话,就需要实现深层拷贝。比如实现 

序列化、反序列化也可以。

热点排行