Visual Basic での変数宣言

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

変数の名前付け規則および考慮事項については、「宣言された要素の名前 (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 のオブジェクトとクラス」および「コンポーネントによるプログラミング」を参照してください。

ローカル型の推論

型の推論 は、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 ステートメント」を参照してください。

特性の宣言

変数の有効期間とは、その変数を使用できる期間です。 一般的には、(プロシージャまたはクラスなどの) 変数が宣言された要素が存在し続ける限り、変数は存在します。 変数の有効期間を延長することが可能な場合もあります。 詳細については、「Visual Basic における有効期間」を参照してください。

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

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

参照

処理手順

方法: 新しい変数を作成する (Visual Basic)

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

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

参照

データ型の概要 (Visual Basic)

Protected (Visual Basic)

Friend (Visual Basic)

Static (Visual Basic)

Option Infer ステートメント

概念

定義する変数の型の決定 (Visual Basic)

宣言された要素の特性 (Visual Basic)

ローカル型の推論 (Visual Basic)