对不起,我既粗又懒,但主要是懒惰。实际上,甚至不是这样。我正在努力节省时间,这样我就可以在更短的时间内做更多的事情,因为还有很多事情要做。
这会复制引用还是实际的对象数据?
public class Foo
{
private NameValueCollection _nvc = null;
public Foo( NameValueCollection nvc)
{
_nvc = nvc;
}
}
public class Bar
{
public static void Main()
{
NameValueCollection toPass = new NameValueCollection();
new Foo( toPass ); // I believe this only copies the reference
// so if I ever wanted to compare toPass and
// Foo._nvc (assuming I got hold of the private
// field using reflection), I would only have to
// compare the references and wouldn't have to compare
// each string (deep copy compare), right?
}
我想我肯定知道答案:它只复制参考。但我什至不确定我为什么要问这个。
我想我唯一关心的是,如果在Foo
通过调用其参数化 ctor实例化之后toPass
,如果我需要确保我传递toPass
的 NVC 和 NVC 私有字段_nvc
具有完全相同的内容,我只需要比较它们的引用,正确的?