シャローコピー
シャローコピーをちゃんと理解するという意味で整理した内容をメモします。
シャローコピー(shallow copy)は簡易コピーと呼ばれるものでオブジェクトのコピーを行います。 フィールドが値型の場合はオブジェクトを新たに生成し値を格納します。参照型の場合はコピー元の オブジェクトと同じオブジェクトを参照します。 あれっ?と思われたかもしれません。stringは参照型ですが値型のように扱われます。 この型だけ特殊なのです。 以下はシャローコピーを行ったサンプルです。値型は各々異なる値を保持してますが、 参照型は同じオブジェクトを参照しているので片方の値を変えると、もう片方も変わっていることが分かります。 なおシャローコピーの実装はMemberwiseCloneメソッドを利用するのが手っ取り早いです。 サンプル
MyData.cs
サンプルの変数は以下のようになっています。
|
|