Listをコピーするサンプルです。
実体コピーと参照コピーの2種類があります。
サンプル
例1)Listをコピーする(実体コピー)
// コピー元のList
List<string> list = new List<string>(){"東京", "名古屋", "大阪"};
// listをコピーする
List<string> listCopy = new List<string>(list);
実体コピーだと、同じ内容で全く別のリストオブジェクトが生成されます。
なので、listCopyの内容を修正しても、listの内容には影響を及ぼしません。
例2)Listをコピーする(参照コピー)
// コピー元のList
List<string> list = new List<string>(){"東京", "名古屋", "大阪"};
// listをコピーする
List<string> listCopy = list
参照コピーだと、listCopyとlistは同じリストを参照しています。
なので、listCopyを修正するとlistの内容も変わります。
備考
- 実体コピーは、ディープコピー(Deep Copy)とも呼びます
- 参照コピーは、シャローコピー(Shallow Copy)とも呼びます