我似乎正在获得指针行为,而不是复制对象的值?

用户名

这是我的第一篇文章,我一直在寻找,但无法找到解决问题的答案,因为我甚至不确定该用什么术语,也不确定如何解释,但是我我将尝试一个很小的示例,它实际上是我的实际代码的简化版本:

Public Class myCustomClass
  Public myValue as String
  Public Sub New()
    With Me
      .myValue = String.Empty
    End With
  End Sub
End Class

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
  Dim myObject_A As New myCustomClass
  myObject_A.myValue = "Sample String"

  Dim myObject_B As New myCustomClass
  myObject_B = myObject_A

  myObject_B.myValue = "New Sample String"
End Sub

我遇到的问题是,当我更改myObject_B.myValueto的值时,对to进行"New Sample String"了相同的更改myObject_A.myValue,就好像不是在从myObject_Ato中复制值myObject_BmyObject_B而是像to的指针一样myObject_A

我想要的是myObject_B与相同的值myObject_A,但不要将两者链接在一起。自从升级到适用于Windows桌面的Visual Studio Express 2012以来,我才开始注意到此行为在以前的版本中,我认为这不是我的变量的行为方式。

我怀疑自己做错了什么,也怀疑VS 2012 for Desktop中有更改我非常愿意在需要时分享我的实际代码,如果上面的内容足以弄清楚我在哪里搞砸,我只是不想粘贴很多东西。

真诚的,布赖恩

更新:

感谢您的克隆链接和编码示例。它可以帮助我了解正在谈论的内容,并在我有更多时间时给我一些进一步的阅读资料。这对我来说是全新的,我很高兴对此有所了解。但是,这使我想到了下一个问题,那就是我实际上是在创建myCustomClass的列表。是否可以在整个列表上实施克隆,还是需要创建一个新的myCustomClass对象的列表,然后遍历每个列表项并在每个列表上使用clone方法?

Dim myList as List(Of myCustomClass)

我不确定如何为myCustomClass列表实现克隆。

sumair1

我想要的是使myObject_B与myObject_A的值相同,但不要将两者链接在一起。

最简单的方法是:

Dim myObject_A As New myCustomClass
Dim myObject_B As New myCustomClass
myObject_A.myValue = "Sample String"
myObject_B.myValue = myObject_A.myValue

这会不会在一起,但地方将它们链接myValue来自myObject_AmyObject_B这是一件快速的事情,但是,如果您有复杂的对象,我建议Clone()您在类中实现方法。

有关克隆的更多信息

更新:我相信您的更新问题在这里得到了回答

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获得对类(不是对象)的引用/指针?

来自分类Dev

我正在努力找出为什么我会收到空指针异常。我知道这是因为空值,但我似乎无法找到哪个

来自分类Dev

onCFCRequest似乎正在吞噬我的返回值

来自分类Dev

奇怪的行为复制对象

来自分类Dev

从指针复制对象

来自分类Dev

无法复制我的对象并更改值

来自分类Dev

Rails Logger似乎正在复制日志行

来自分类Dev

Rails Logger似乎正在复制日志行

来自分类Dev

奇怪的VNC错误似乎正在复制进程?

来自分类Dev

试图从一个 ArrayList 创建新的引用到另一个 ArrayList 正在移动,而不是复制我的原始对象

来自分类Dev

我正在学习 jquery,我正在练习并坚持获得选定的选项值

来自分类Dev

ObjC NSNumber存储指向对象的指针,而不是返回的值

来自分类Dev

原型正在返回我的函数而不是返回值

来自分类Dev

我的C ++程序正在打印出地址而不是值

来自分类Dev

将内部函数指针复制到对象到函数传递的指针时,c值不变

来自分类Dev

如何使用指针复制对象?

来自分类Dev

指向对象指针数组的指针的深层复制

来自分类Dev

我正在尝试获取非对象的属性值

来自分类Dev

指针的Boost序列化将保存指针的十六进制值,而不是对象的内容

来自分类Dev

我正在将jsp中的值作为不同的值而不是我输入的

来自分类Dev

空指针C的复制值

来自分类Dev

似乎我的存储过程正在返回Integer

来自分类Dev

似乎我的存储过程正在返回Integer

来自分类Dev

AJAX 似乎正在缓存我的结果

来自分类Dev

对象内的值行为

来自分类Dev

我正在从 BMP 文件中读取像素的 RGB 值,但没有获得正确的值

来自分类Dev

传播算子似乎不复制完整对象

来自分类Dev

我如何获得对象数组的值的总和:java8

来自分类Dev

使用memcpy复制指针(而不是内容)

Related 相关文章

  1. 1

    如何获得对类(不是对象)的引用/指针?

  2. 2

    我正在努力找出为什么我会收到空指针异常。我知道这是因为空值,但我似乎无法找到哪个

  3. 3

    onCFCRequest似乎正在吞噬我的返回值

  4. 4

    奇怪的行为复制对象

  5. 5

    从指针复制对象

  6. 6

    无法复制我的对象并更改值

  7. 7

    Rails Logger似乎正在复制日志行

  8. 8

    Rails Logger似乎正在复制日志行

  9. 9

    奇怪的VNC错误似乎正在复制进程?

  10. 10

    试图从一个 ArrayList 创建新的引用到另一个 ArrayList 正在移动,而不是复制我的原始对象

  11. 11

    我正在学习 jquery,我正在练习并坚持获得选定的选项值

  12. 12

    ObjC NSNumber存储指向对象的指针,而不是返回的值

  13. 13

    原型正在返回我的函数而不是返回值

  14. 14

    我的C ++程序正在打印出地址而不是值

  15. 15

    将内部函数指针复制到对象到函数传递的指针时,c值不变

  16. 16

    如何使用指针复制对象?

  17. 17

    指向对象指针数组的指针的深层复制

  18. 18

    我正在尝试获取非对象的属性值

  19. 19

    指针的Boost序列化将保存指针的十六进制值,而不是对象的内容

  20. 20

    我正在将jsp中的值作为不同的值而不是我输入的

  21. 21

    空指针C的复制值

  22. 22

    似乎我的存储过程正在返回Integer

  23. 23

    似乎我的存储过程正在返回Integer

  24. 24

    AJAX 似乎正在缓存我的结果

  25. 25

    对象内的值行为

  26. 26

    我正在从 BMP 文件中读取像素的 RGB 值,但没有获得正确的值

  27. 27

    传播算子似乎不复制完整对象

  28. 28

    我如何获得对象数组的值的总和:java8

  29. 29

    使用memcpy复制指针(而不是内容)

热门标签

归档