1. ホーム
  2. c#

[解決済み] List<T>を元のList<T>への参照にしないで代入する方法は?

2023-08-07 10:32:54

質問

例えば

List<string> name_list1 = new List<string>();
List<string> name_list2 = new List<string>();

はコードの後半にあります。

name_list1.Add("McDonald");
name_list1.Add("Harveys");
name_list1.Add("Wendys");

name_list2 = name_list1; // I make a copy of namelist1 to namelist2

ということで、ここからはname_list1に影響を与えることなく、name_list2に要素を追加したり、変更を加えたりしていきたいと思います。どうすればいいでしょうか?

どのように解決するのですか?

name_list2 = new List<string>(name_list1);

これはリストのクローンを作成します。

編集:この解決策はプリミティブ型にのみ有効です。オブジェクトについては、以下の他の回答を参照してください。