プログラムの中で変数を宣言する位置によって、使用できるかできないかが決まります。つまり、変数には有効範囲があります。これを変数のスコープと呼びます。大きく分けて次の2つの種類に分けられます。
プロシージャの内部などで宣言される変数です。プロシージャなどの処理が終わると、変数も破棄され、使用できなくなります。次回、同じプロシージャが呼び出されると、再び新たに変数が用意され、処理が終わると破棄されます。
例:
プロシージャの外で宣言される変数です。クラス(後で学習します。)が存在している間、その変数は使用できます。
例:
上記のように、変数の宣言を記述する位置によって、使用できるかどうかが変わってきます。また、ローカル変数で、呼び出すたびに同じ変数の値を使用する方法があります。これを、「Static変数」と呼びます。
Static変数宣言の書式 |
---|
Static 変数名 As データ型 |
○ プロジェクト
次のようにプロジェクトを作成してください。今回は、Windowsフォームアプリケーションを作成します。
プロジェクトの種類 | Windows フォーム アプリケーション |
---|---|
プロジェクト名 | StaticTest |
○ デザイン
次の図のようにコントロールを配置してください。
○ プログラム
Buttonコントロールのクリック時の処理として次のプログラムを入力します。デザイナで配置したButtonコントロールをダブルクリックして、表示されるプログラムに記述をしてください。
○ 実行結果
○ 解説
5行目でStatic変数を宣言しています。初めて変数を利用する際に初期化され、2回目以降は初期化されずにそのまま使用することができます。8行目でStatic変数を1ずつ増やしていますが、このプロシージャが呼び出されるたびに増えていきます。もしStatic変数ではなく普通の変数であれば毎回毎回初期化されるため、何度このプロシージャを呼び出しても「0 + 1」の結果しか出てきません。
11行目では計算結果をボタンコントロールの見出しにセットしています。これにより、計算結果をボタンに表示して確認することができます。