VB.NETのListクラスの使い方は?サンプルコードも解説!

「VB.NETのListクラスって、どんな時に使うんだろう?」
「VB.NETのListクラスの使い方や、具体的なサンプルコードが知りたいな」
Listクラスは、使いこなすととても便利なジェネリッククラスです。初めて使う場合、具体的な使い方をイメージしにくい人も多いのではないでしょうか。
そこで今回は、VB.NETのListクラスの使い方・サンプルコードについて解説します。
- SE
- VB.NETのListクラスを詳しく知りたいです。
- PM
- VB.NETのListクラスは覚えておくと便利なので、ぜひ覚えて使いこなしましょう。
※この記事はVisual Basicの16.0で動作確認しました。
この記事でわかること
VB.NETのListクラスとは?
VB.NETのListクラスは、ジェネリッククラスです。ジェネリッククラスは、型引数を持つクラスのことです。
言葉だけだとわかりづらいので具体的な使い方を解説します。Listクラスの使い方は以下の通りです。
1 |
Dim 変数名 As New List(Of 型名) |
Listの中には、String、Integerなどの型名を入れます。また以下のように値とセットで宣言もできます。
1 |
Dim 変数名 As New List(Of 型名)(New 型名() {値1,値2,値3,…値n}) |
先ほどの書き方に続いて、「(New 型名() {値1,値2,値3,…値n})」を入れるだけです。一文が少し長くなりますが、値が決まっている場合はおすすめです。
【サンプルコード付き】VB.NETのListクラスの使い方
ここからはサンプルコードをもとにListクラスの使い方を解説します。
1.インスタンス化・初期値セット
まず、インスタンス化・初期値セット時のサンプルです。サンプルコードをご紹介します。
1 2 3 4 5 6 |
Module Program Sub Main(args As String()) 'Listクラスを宣言 + 初期値をセット Dim fruits As New List(Of String)(New String() {"apple", "orange", "banana"}) End Sub End Module |
サンプルでは、String型のListクラスを宣言しています。変数名を「fruits」とし、値には「apple」「orange」「banana」を入れています。
2.インデックス指定で値を取得
次に、値を取得する方法を解説します。具体的な使い方は、以下の通りです。
1 2 3 4 5 |
'Listクラスを宣言 + 初期値をセット Dim 変数名 As New List(Of 型名)(New 型名() {値1,値2,値3,…値n}) 'インデックスを指定して値をログに出力 Console.WriteLine(変数名(インデックス)) |
サンプルコードは、以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 |
Module Program Sub Main(args As String()) 'Listクラスを宣言 + 初期値をセット Dim fruits As New List(Of String)(New String() {"apple", "orange", "banana"}) 'Listクラスを宣言 + 初期値をセット Console.WriteLine("インデックスが「0」の値:" & fruits(0)) Console.WriteLine("インデックスが「1」の値:" & fruits(1)) Console.WriteLine("インデックスが「2」の値:" & fruits(2)) End Sub End Module |
実行結果:
「fruits(0)」のように、変数名(インデックス)を指定して値が取得できています。このように、値を簡単に取得できるのです。
3.インデックス指定で値を変更
次に、インデックスを指定した値の変更方法を解説します。使い方は、以下の通りです。
1 2 3 4 5 |
'Listクラスを宣言 + 初期値をセット Dim 変数名 As New List(Of 型名)(New 型名() {値1,値2,値3,…値n}) 'インデックスを指定して値を変更 変数名(インデックス) = 変更する値 |
先ほど取得した時と同じように、左辺に「変数名(インデックス)」を指定します。サンプルコードは以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Module Program Sub Main(args As String()) 'Listクラスを宣言 + 初期値をセット Dim fruits As New List(Of String)(New String() {"apple", "orange", "banana"}) '変更前の値をログに出力 Console.WriteLine("変更前の値:" & fruits(0)) 'インデックスが0の値を「peach」に変更 fruits(0) = "peach" '変更後の値をログに出力 Console.WriteLine("変更後の値:" & fruits(0)) End Sub End Module |
実行結果:
変更前と変更後の値が変わっています。このように、簡単に値を変更できます。
ArrayListとListの違いは?
ここまで、Listクラスの使い方を解説してきました。Listと似ている名前にArrayListがあります。
使い方が混乱してしまう人もいるので、ここで違いを覚えておきましょう。
ArrayListは、「代入する値」ごとに「型」が変わります。そのため以下のように、「数値」「文字列」と異なる型の値を入れることも可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Module Program Sub Main(args As String()) 'Listクラスを宣言 + 初期値をセット Dim arrUserInfo = New ArrayList() arrUserInfo.Add(1) arrUserInfo.Add("太郎") arrUserInfo.Add("男性") '要素数分値を出力 For Each item In arrUserInfo Console.WriteLine(item) Next End Sub End Module |
実行結果:
上記のように複数の型の値を代入できます。型が事前に決まっている場合はListクラスを使う方が安全でしょう。
VB.NETで使える複数の値を扱う2つの方法とは?
複数の値を扱う方法は他にもあります。具体的に言うと以下2つは使い方を覚えておくと良いでしょう。
1. 配列
2. 構造体
それぞれの使い方やサンプルコードを見たい方は以下がおすすめです。
>>> 【VB.NET入門】配列の使い方まとめ!基礎から応用まで徹底解説
>>> VB.NETの構造体の使い方は?クラスとの違いやサンプルも解説!
まとめ
今回はVB.NETのListクラスの使い方を解説しました。
Listクラスは複数の値を扱うときによく使います。サンプルコードを実際に書いて、実行してみるのがおすすめです。
ぜひ手を動かして、コードを書いてみてくださいね。