简单问题 - 浅层复制(VB.Net)

时间:2010-07-28 06:35:35

标签: vb.net object copy deep-copy

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

假设我有这段代码。

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

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

1 个答案:

答案 0 :(得分:2)

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

如果您想复制对象,请考虑object cloning