VB.NETでリストの要素を結合する方法について書いています。
リストの要素を結合したいときには、下記の2つのメソッドを使うことができます。
・AddRangeメソッド
Concatメソッドで結合する
リストからConcatメソッドを呼び出すことで、2つのリストを結合して、結合した結果の新しいリストを作ることができます。
例えば、下記のように使います。
Dim fruits1 As List(Of String) = New List(Of String)({"banana", "grape"})
Dim fruits2 As List(Of String) = New List(Of String)({"apple", "peach"})
Dim fruits = fruits1.Concat(fruits2).ToList()
For Each fruit As String In fruits
Console.WriteLine(fruit)
Next
最初にfruits1変数に、2つの文字列でリストを作成しました。
その次の行で同様にしてfruits2変数に、2つの文字列でリストを作成しています。
そして、fruits1リストからConcatメソッドを呼び出して、fruits2リストを渡しました。
その後に、ToListメソッドを呼ぶことでリストを返しています。
これで、2つのリストが結合されて、結果がfruits変数に返ってきます。
For Eachでfruitsリストの要素がある間、ループ処理をすると、下記のように出力されました。
banana
grape
apple
peach
2つのリストが結合されて、新しく全ての要素が入ったfruitsリストを作ることができました。
AddRangeメソッドで結合する
リストからAddRangeメソッドを呼び出すことでも、リストの内容を結合することができます。
先ほどは、リストを結合して新しいリストを作りましたが、こちらは既にあるリストに追加することができます。
例えば、下記のように使います。
Dim fruits1 As List(Of String) = New List(Of String)({"cherry", "orange"})
Dim fruits2 As List(Of String) = New List(Of String)({"banana", "peach"})
fruits1.AddRange(fruits2)
For Each fruit As String In fruits1
Console.WriteLine(fruit)
Next
先ほどと同様にして、2つのリストを作成しています。
fruits1リストとfruits2リストです。それぞれ2つの文字列を要素として持っています。
次の処理で、fruits1リストからAddRangeメソッドを呼び出しています。
引数として渡しているのは、追加したいリスト要素です。
これで、fruits1リストにfruits2リストの全ての要素が追加されます。
For Eachでfruits1リストの要素がある間、ループ処理をすると、下記のように出力されました。
cherry
orange
banana
peach
既にあるfruits1リストにfruits2リストの全ての要素が追加されました。
リストを結合する方法まとめ
今回はVB.NETのリストを結合する方法について書きました。
記事の内容をまとめると、下記のようになります。
・AddRangeメソッドを呼ぶことで、既にあるリストにリストの要素を全て追加できた。
リストの内容を変えずに、2つのリストを結合したいときにはConcatメソッドが使えました。
既にあるリストに対して、ひとつにまとめたいときにはAddRangeメソッドを使いましょう。

コメント