C# の 変数の有効範囲の説明
変数の有効範囲のことをスコープ(scope)といいます。
ローカル変数
static void Main(string[] args)
{
int a = 10; // ローカル変数
{
int b = 20; // ローカル変数
Console.WriteLine(a);
Console.WriteLine(b);
}
Console.WriteLine(a);
Console.WriteLine(b); // エラー
}
メソッド内で宣言した変数のことをローカル変数といい。ローカル変数の有効範囲は 宣言した ブロック内です。
{
int a;
{
int a; // エラー
}
}
宣言したブロック内、またはブロック内にあるブロック内で 同じ名前の 変数を宣言することはできません。
{
int a;
}
{
int a; // OK
}
this
フィールドとローカル変数は同じ名前を付けることができます。ローカル変数と同じ名前のフィールドを参照する時は変数の前に「this」を付けます。
class scope
{
int zoom = 1; // フィールド
public void printzoom()
{
int zoom = 2; // ローカル変数
Console.WriteLine(zoom); // 2 : ローカル変数
Console.WriteLine(this.zoom); // 1 : フィールド
}
}
コメント