申し訳ありませんが、私は厚くて怠惰ですが、ほとんど怠惰です。実際、それでもありません。やるべきことがたくさんあるので、より少ない時間でより多くのことができるように時間を節約しようとしています。
これは参照または実際のオブジェクトデータをコピーしますか?
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
、渡したNVCtoPass
とNVCプライベートフィールド_nvc
の内容がまったく同じであることを確認する必要がある場合、それらの参照を比較する必要があることだと思います。右?