C#のリストで要素を結合する2つの方法!

C# C#

C#のリストで要素を結合する方法について書いています。
要素を結合するときには、下記のメソッドをリストから呼び出して、結合することができます。

・Concatメソッド
・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#のリストで要素を結合する方法について書きました。
記事の内容をまとめると、下記のようになります。

・Concatメソッドを呼ぶことで、2つのリストから新しいリストを作成できた。
・AddRangeメソッドを呼ぶことで、既にあるリストにリストの要素を全て追加できた。

リストの内容を変えずに、2つのリストを結合したいときにはConcatメソッドを使いましょう。
既にあるリストに対して、要素を追加して、ひとつにまとめたいときにはAddRangeメソッドを使うとよさそうです。

コメント

タイトルとURLをコピーしました