VB.NETのリストを結合する2つの方法!

VB.NET VB.NET

VB.NETでリストの要素を結合する方法について書いています。
リストの要素を結合したいときには、下記の2つのメソッドを使うことができます。

・Concatメソッド
・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 Eachfruitsリストの要素がある間、ループ処理をすると、下記のように出力されました。

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 Eachfruits1リストの要素がある間、ループ処理をすると、下記のように出力されました。

cherry
orange
banana
peach

既にあるfruits1リストにfruits2リストの全ての要素が追加されました。

リストを結合する方法まとめ

今回はVB.NETのリストを結合する方法について書きました。
記事の内容をまとめると、下記のようになります。

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

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

コメント

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