Visual Basic での変数宣言

更新 : 2007 年 11 月

変数を宣言して、変数の名前と特性を指定します。変数の宣言ステートメントは、Dim ステートメント (Visual Basic) です。このステートメントの場所と内容により、変数の特性が決まります。

変数の名前付け規則および考慮事項については、「宣言された要素の名前」を参照してください。

宣言のレベル

ローカル変数およびメンバ変数

プロシージャ内で宣言された変数をローカル変数と呼びます。メンバ変数は、Visual Basic 型のメンバです。これは、クラス、構造体、またはモジュールの内部のプロシージャ内ではなく、クラス、構造体、またはモジュール内のモジュール レベルで宣言されます。

共有変数およびインスタンス変数

クラスや構造体では、メンバ変数の変数のカテゴリは、その変数が共有されているかどうかによって決まります。共有キーワードを使って宣言した変数は共有変数となり、クラスや構造体のすべてのインスタンスが 1 つのコピーを共有します。

それ以外の変数はインスタンス変数となり、クラスや構造体の各インスタンスごとにコピーが作成されます。インスタンス変数のコピーは、作成されたインスタンス以外では使用できません。これは、他のインスタンスのコピーから独立しています。

データ型の宣言

宣言ステートメントで As 句を使用すると、宣言する変数のデータ型またはオブジェクトの型を定義できます。変数に指定できる型は次のとおりです。

  • Boolean、Long、Decimal などの基本データ型

  • 配列や構造体などの複合データ型

  • 作成したアプリケーションまたはその他のアプリケーションのいずれかで定義された、オブジェクト型またはクラス

  • LabelTextBox などの .NET Framework クラス

  • 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 におけるオブジェクト指向プログラミング」および「コンポーネントによるプログラミング」を参照してください。

ローカル型の推論

Visual Basic 2008 では、型の推論を使用して、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 における有効期間」を参照してください。

変数のスコープとは、名前に修飾子を付けずにその変数を参照できるコードの範囲です。変数のスコープは、変数を宣言した位置で決まります。変数を定義した領域にあるコードでは、名前に修飾子を付けずにその変数を使用できます。詳細については、「Visual Basic におけるスコープ」を参照してください。

変数のアクセス レベルは、変数へのアクセス許可を持ったコードのエクステントです。これは、Dim ステートメントで使用する、(Public (Visual Basic) または Private (Visual Basic) などの) アクセス修飾子で決まります。詳細については、「Visual Basic でのアクセス レベル」を参照してください。

参照

処理手順

方法 : 新しい変数を作成する

方法 : 値の変わらない変数を作成する

方法 : 変数に値を格納する、および変数から値を取得する

概念

定義する変数の型の決定

宣言された要素の特性

ローカル型の推論

参照

データ型の概要 (Visual Basic)

Protected (Visual Basic)

Friend (Visual Basic)

Static (Visual Basic)

Option Infer ステートメント