1. ホーム
  2. c#

[解決済み】C#でListを連結する方法は?

2022-04-18 21:30:44

質問

持っていれば

List<string> myList1;
List<string> myList2;

myList1 = getMeAList();
// Checked myList1, it contains 4 strings

myList2 = getMeAnotherList();
// Checked myList2, it contains 6 strings

myList1.Concat(myList2);
// Checked mylist1, it contains 4 strings... why?

Visual Studio 2008でこれと似たようなコードを実行し、各実行後にブレークポイントを設定しました。実行後 myList1 = getMeAList(); , myList1 は4つの文字列を含んでおり、プラスボタンを押して、それらがすべてヌルでないことを確認した。

その後 myList2 = getMeAnotherList(); , myList2 には6つの文字列が含まれており、それらがNULLでないことを確認したのですが...。その後 myList1.Concat(myList2); myList1には4つの文字列しか含まれていません。なぜでしょうか?

解決方法は?

Concat は新しいシーケンスを返します。 元のリストを変更することなく . 試す myList1.AddRange(myList2) .