Visual Basic での変数宣言
変数を宣言して、変数の名前と特性を指定します。 変数の宣言ステートメントは、Dim ステートメント (Visual Basic) です。 このステートメントの場所と内容により、変数の特性が決まります。
変数の名前付け規則および考慮事項については、「宣言された要素の名前 (Visual Basic)」を参照してください。
宣言のレベル
ローカル変数およびメンバー変数
プロシージャ内で宣言された変数をローカル変数と呼びます。 メンバー変数は、Visual Basic 型のメンバーです。これは、クラス、構造体、またはモジュールの内部のプロシージャ内ではなく、クラス、構造体、またはモジュール内のモジュール レベルで宣言されます。
共有変数およびインスタンス変数
クラスや構造体では、メンバー変数の変数のカテゴリは、その変数が共有されているかどうかによって決まります。 共有キーワードを使って宣言した変数は共有変数となり、クラスや構造体のすべてのインスタンスが 1 つのコピーを共有します。
それ以外の変数はインスタンス変数となり、クラスや構造体の各インスタンスごとにコピーが作成されます。 インスタンス変数のコピーが作成されたクラスまたは構造体のインスタンスにのみ使用できます。 これは、クラスまたは構造体の他のインスタンスのインスタンス変数のコピーから独立しています。
データ型の宣言
宣言ステートメントで As 句を使用すると、宣言する変数のデータ型またはオブジェクトの型を定義できます。 変数に指定できる型は次のとおりです。
Boolean、Long、Decimal などの基本データ型
配列や構造体などの複合データ型
作成したアプリケーションまたはその他のアプリケーションのいずれかで定義された、オブジェクト型またはクラス
IComparable または IDisposable などのインターフェイス型
1 つのステートメントで複数の変数を宣言できます。この場合、データ型を繰り返す必要はありません。 次のステートメントでは、変数 i、j、および k は Integer 型として、l と m は Long 型として、x と y は Single 型として、それぞれ宣言されています。
Dim i, j, k As Integer
' All three variables in the preceding statement are declared as Integer.
Dim l, m As Long, x, y As Single
' In the preceding statement, l and m are Long, x and y are Single.
データ型の詳細については、「Visual Basic におけるデータ型」を参照してください。 オブジェクトの詳細については、「Visual Basic のオブジェクトとクラス」および「コンポーネントによるプログラミング」を参照してください。
ローカル型の推論
型の推論 は、As 句なしで宣言されているローカル変数のデータ型の決定に使用されます。 コンパイラは、初期化式の型から変数の型を推測します。 これにより、型を明示的に指定せずに変数を宣言することができます。 次の例では、num1 と num2 は両方とも整数として厳密に型指定されています。
Public Sub inferenceExample()
' Using explicit typing.
Dim num1 As Integer = 3
' Using local type inference.
Dim num2 = 3
End Sub
ローカル型の推論を使用する場合には、Option Infer を On に設定する必要があります。 詳細については、「ローカル型の推論 (Visual Basic)」および「Option Infer ステートメント」を参照してください。
宣言された変数の特性
変数の有効期間とは、その変数を使用できる期間です。 一般的には、(プロシージャまたはクラスなどの) 変数が宣言された要素が存在し続ける限り、変数は存在します。 変数がコンテナー要素の有効期間を存続させる必要がある申告で特別な処理を行う必要はありません。 コンテナー 要素の有効期間よりも長く変数を存続させる必要がある場合は、Dim ステートメントに Static キーワード、または Shared キーワードを含めます。 詳細については、「Visual Basic における有効期間」を参照してください。
変数のスコープとは、名前に修飾子を付けずにその変数を参照できるコードの範囲です。 変数のスコープは、変数を宣言した位置で決まります。 変数を定義した領域にあるコードでは、名前に修飾子を付けずにその変数を使用できます。 詳細については、「Visual Basic におけるスコープ」を参照してください。
変数のアクセス レベルは、変数へのアクセス許可を持ったコードのエクステントです。 これは、Dim ステートメントで使用する、(Public (Visual Basic) または Private (Visual Basic) などの) アクセス修飾子で決まります。 詳細については、「Visual Basic でのアクセス レベル」を参照してください。
参照
処理手順
方法: 変数に値を格納する、および変数から値を取得する (Visual Basic)