VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
Update 2018/12/02
< Prev Tips
Next Tips>
配列を使用すると、1つの変数で複数の値を持つことができるようになります。
ここでは、以下について説明します。
通常の変数は、1つの変数に1つの値を保存することができます。
配列変数は、大きな箱があってその中に「しきり」があるイメージです。
「しきり」をつけることで、複数の値(それぞれを要素と呼びます)を持つことができるようになり、それぞれ0番から始まる番号が付きます。
配列も変数と同様に宣言をして使用します。
書式を以下に示します。
Dim 配列変数名(要素数 - 1) As データ型
以下は、Integer型で5個の要素(データ)を持つことができる配列の宣言例です。
5個の要素をもたせたい場合は()の中は「5-1」をして「4」とします。
Option Explicit
Sub 配列宣言の例()
Dim x(5) As Integer
End Sub
配列変数に値を代入するには、以下の書式を使用します。
要素番号は0から数えるので、3番目の箱にデータを代入したい場合は、要素番号は2となります。
配列変数名(要素番号) = 値
以下に、配列変数に値を代入する例を示します。
Option Explicit
Sub 配列への値の代入例()
Dim x(4) As Integer
x(0) = 3
x(1) = 5
x(2) = 1
x(3) = 7
x(4) = 2
End Sub
配列変数に入っている値を参照するには、以下の書式を使用します。
配列変数名(参照したい値が入っている要素番号)
以下に、配列変数の値を参照する例を示します。
ここででは、要素番号が3の値をMsgBoxを使用して表示しています。
Option Explicit
Sub 配列の値参照例()
Dim x(4) As Integer
x(0) = 3
x(1) = 5
x(2) = 1
x(3) = 7
x(4) = 2
MsgBox(x(3)
End Sub
配列変数はと繰り返し処理は相性がよいので、よく使用されます。
以下は、For〜Next文を使用して値を参照する例です。
LBound関数は配列変数の要素番号の最小値を取得し、UBound関数は配列変数の要素番号の最大値を取得します。
Option Explicit
Sub 繰り返し処理での参照例()
Dim x(4) As Integer
Dim i As Integer
x(0) = 3
x(1) = 5
x(2) = 1
x(3) = 7
x(4) = 2
For i = LBound(x) To UBound(x)
Debug.Print x(i)
Next
End Sub
もう1つ、For Each文を使用した例を示します。
この例は先ほどのFor Next文をFor Each文に書き換えたものです。
Option Explicit
Sub 繰り返し処理での参照例2()
Dim x(4) As Integer
Dim data As Variant
x(0) = 3
x(1) = 5
x(2) = 1
x(3) = 7
x(4) = 2
For Each data In x
Debug.Print data
Next
End Sub