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メソッドを使いましょう。
コメント