変数のスコープ

 プログラムの中で変数を宣言する位置によって、使用できるかできないかが決まります。つまり、変数には有効範囲があります。これを変数のスコープと呼びます。次のような種類があります。

■ ブロックスコープ

 ブロックスコープは有効範囲がブロック内に限定されます。ブロックとは次の章で学習する制御構文のような開始と終了がある単位です。

 次のプログラム例は、if文の中に宣言した変数を、if文の外で表示するために利用しようとしています。しかし、次の図のようにエラーとなります。ブロック内で宣言した変数はブロック内で使用できます。

ブロックスコープ
ブロックスコープ

■ メソッドスコープ

 メソッドスコープは有効範囲がメソッド内に限定されます。メソッドとは上の図の「static void Main(string[] args){~}」で指定された単位です。ローカル変数と呼ばれます。

 次のプログラム例は、「Main」メソッドの中に宣言した変数を、「Test」メソッドで表示するために利用しようとしています。しかし、次の図のようにエラーとなります。メソッド内で宣言した変数はメソッド内で使用できます。

メソッドスコープ
メソッドスコープ

■ クラススコープ

 クラススコープは有効範囲がクラス・構造体内に限定されます。クラスとは上の図の「class Program{~}」で指定された単位です。

 次のプログラム例は、「Program」クラスの中に宣言した変数を、「Test」メソッドで表示するために利用しようとしています。クラスの範囲内であれば使用できるので、エラーにはなりません。

クラススコープ
クラススコープ

前へ   次へ