今回は、VB.NETで配列を初期化する方法についてご紹介します。
VB.NETでは、配列を初期化する方法が複数用意されています。
用途に合わせて使い分けることで、読みやすく効率的なコードを記述できます。
VB.NETの配列初期化の基本
まずは、最もよく使われる単一次元配列の初期化方法です。
リテラルによる初期化は、要素をあらかじめ列挙しておくシンプルな手法です。
1 2 3 4 5 |
' 整数型の配列を初期化 Dim numbers() As Integer = {1, 2, 3, 4, 5} ' 文字列型の配列を初期化 Dim fruits() As String = {"Apple", "Banana", "Cherry"} |
一方、Newキーワードを使った初期化は、New演算子と組み合わせて配列を生成する方法です。
1 |
Dim colors As String() = New String() {"Red", "Green", "Blue"} |
固定サイズの配列を定義し、後から値を代入する方法もあります。
1 2 3 4 5 |
' インデックス: 0~2 の3要素 Dim fruitsFixed(2) As String fruitsFixed(0) = "Apple" fruitsFixed(1) = "Banana" fruitsFixed(2) = "Cherry" |
配列要素へのアクセスはインデックスを用いますが、VB.NETではインデックスが0から始まる点に注意してください。
単一次元配列の簡単な表示例
配列を初期化した後、内容を出力してみるコード例です。
1 2 3 4 5 6 7 8 9 10 11 |
Module Module1 Sub Main() ' 整数型配列の初期化 Dim nums() As Integer = {10, 20, 30} ' 配列の要素を表示 For i As Integer = 0 To nums.Length - 1 Console.WriteLine(nums(i)) Next End Sub End Module |
10
20
30
多次元配列とジャグ配列の初期化
多次元配列は、行列などのように要素を複数の次元で管理したい場合に便利です。
たとえば、次のように2次元配列を初期化できます。
1 2 3 4 5 |
' 2行3列の整数型2次元配列を初期化 Dim matrix(,) As Integer = { {1, 2, 3}, {4, 5, 6} } |
ジャグ配列は、「配列の配列」の形を取り、内部の配列ごとにサイズが異なる点が特徴です。
1 2 3 4 5 |
Dim jagged()() As Integer = { New Integer() {1, 2}, New Integer() {3, 4, 5}, New Integer() {6} } |
行列のように整列した形式が必要なら多次元配列を、要素ごとにサイズを変えたい場合はジャグ配列を選択すると便利です。
動的配列の初期化とサイズ変更
VB.NETでは、ReDimキーワードを使うことで後から配列のサイズを決定する動的配列を扱えます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
' 初期宣言:サイズ未定義の動的配列 Dim dynamicArr() As Integer ' 要素数5の配列にサイズ変更 ReDim dynamicArr(4) dynamicArr(0) = 10 dynamicArr(1) = 20 dynamicArr(2) = 30 dynamicArr(3) = 40 dynamicArr(4) = 50 ' 既存の値を保持したままサイズを拡張(合計7要素) ReDim Preserve dynamicArr(6) dynamicArr(5) = 60 dynamicArr(6) = 70 |
重要なのは、ReDim Preserveを使うと既存の要素を失わずに配列サイズを変えられる反面、配列全体が再割り当てされるためパフォーマンスに影響があることです。
頻繁なサイズ変更を伴う場合は、状況に応じてList(Of T)などのコレクションを検討することもおすすめです。
サイズ変更後の配列要素表示例
ReDimでサイズ拡張した配列要素を表示するサンプルです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Module Module2 Sub Main() Dim dynamicArr() As Integer ReDim dynamicArr(2) dynamicArr(0) = 100 dynamicArr(1) = 200 dynamicArr(2) = 300 ' サイズ拡張 ReDim Preserve dynamicArr(4) dynamicArr(3) = 400 dynamicArr(4) = 500 For Each value In dynamicArr Console.WriteLine(value) Next End Sub End Module |
100
200
300
400
500
まとめ
VB.NETでは、配列を初期化する方法が多彩に用意されています。
必要な場面に応じて、単一次元・多次元・ジャグ配列、そして動的配列を選択できます。
配列を活用する際は、パフォーマンスと可読性を考慮して適切に使い分けることが大切です。