C#のリストで要素を結合する方法について書いています。
要素を結合するときには、下記のメソッドをリストから呼び出して、結合することができます。
・AddRangeメソッド
載せているコードについては、.Netのバージョン6(C#のバージョン10)で確認しました。
Concatメソッドで結合する
リストからConcatメソッドを呼び出すことで、2つのリストを結合して、結合した結果のリストを作ることができます。
例えば、下記のように使います。
List<string> fruits1 = new List<string> {"apple", "orange", "banana"};
List<string> fruits2 = new List<string> {"lemon", "peach"};
List<string> fruits = fruits1.Concat(fruits2).ToList();
foreach(string fruit in fruits) {
Console.WriteLine(fruit);
}
最初にfruits1
変数に、3つの文字列でリストを作りました。
その次の処理で、fruits2
変数に2つの文字列でリストを作っています。
そして、fruits1
リストからConcatメソッドを呼び出して、fruits2
リストを渡しました。
これで、リストが結合されます。
その後に、ToListメソッドを呼ぶことでリストを返して、fruits
変数で受け取っています。
foreach文でfruits
変数の中身をループして出力すると、下記のようになりました。
apple
orange
banana
lemon
peach
2つのリストが結合されて、全ての要素がfruits
リストに入ったことが確認できました。
AddRangeメソッドで結合する
リストからAddRangeメソッドを呼び出すことでも、リストの内容を結合することができます。
先ほどは、リストを結合して新しいリストを作りましたが、こちらは既にあるリストに追加することができます。
例えば、下記のように使います。
List<string> fruits1 = new List<string> {"cherry", "peach", "banana"};
List<string> fruits2 = new List<string> {"grape", "melon"};
fruits1.AddRange(fruits2);
foreach(string fruit in fruits1) {
Console.WriteLine(fruit);
}
最初は、先ほどと同じようにリストを作成しています。
fruits1
変数に、3つの文字列でリストを作りました。
その次の処理で、fruits2
変数に2つの文字列でリストを作っています。
そして、fruits1
リストからAddRangeメソッドを呼び出して、fruits2
リストを渡しています。
これで、fruits1
変数のリストにfruits2
リストの全ての要素が追加されます。
foreach文でfruits1
変数の中身をループして出力すると、下記のようになりました。
cherry
peach
banana
grape
melon
既にあるfruits1
リストにfruits2
リストの全ての要素が追加されました。
リストの要素を結合する方法のまとめ
今回はC#のリストで要素を結合する方法について書きました。
記事の内容をまとめると、下記のようになります。
・AddRangeメソッドを呼ぶことで、既にあるリストにリストの要素を全て追加できた。
リストの内容を変えずに、2つのリストを結合したいときにはConcatメソッドを使いましょう。
既にあるリストに対して、要素を追加して、ひとつにまとめたいときにはAddRangeメソッドを使うとよさそうです。
コメント