【问题标题】:Simple Question - Shallow Copy (VB.Net)简单问题 - 浅拷贝 (VB.Net)
【发布时间】:2010-07-28 06:35:35
【问题描述】:

好吧,我总是对此感到困惑。

假设我有这个代码。

Public Sub Bar(byRef pMap as clsMap)
Dim foo as new FooClass()
pMap.listOfFoo.Add(foo)
end Sub

这意味着引用“Foo”或存储在“listOfFoo”中的项目将引用同一个对象,对吗?如果我要更改 'foo' 的属性 - 但不将其更改为新对象 - 两者仍会引用并反映更新后的值?

【问题讨论】:

    标签: vb.net object copy deep-copy


    【解决方案1】:

    是的,您正在存储一个指向 foo 对象的引用指针,因此如果您在一个位置修改属性,它将在引用 foo 的所有其他位置可见。

    如果你想复制你的对象,你应该考虑object cloning

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-12
      • 2010-09-17
      • 2015-01-13
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多