C# 変数のスコープ

C# では、変数のスコープは変数の可視性とライフサイクルを定義します。

変数のスコープは通常、中括弧{}で定義されるコードブロックによって決定されます。

以下は、C# の変数スコープに関する基本的なルールです。

局部变量

メソッド、ループ、条件文などのコードブロック内で宣言された変数はローカル変数であり、宣言されたコードブロック内でのみ可視です。

实例

void MyMethod()
{
    int localVar = 10; // 局部变量
    // ...
}
// localVar はここでは見えない

块级作用域

C# 7 以降では、ブロックスコープが導入されました。つまり、中括弧{}を使用して作成された任意のブロックが変数のスコープを定義できます。

实例

{
    int blockVar = 20; // 块级作用域
    // ...
}
// blockVar はここでは見えない

メソッドパラメータのスコープ

メソッドのパラメータにも独自のスコープがあり、メソッド全体で可視です。

实例

void MyMethod(int parameter)
{
    // parameter はメソッド全体で参照可能
    // ...
}

全局变量

クラスのメンバーレベルで定義された変数はメンバー変数であり、クラス全体で可視です。名前空間レベルで定義された場合、それらは名前空間全体で可視です。

实例

class MyClass
{
    int memberVar = 30; // メンバー変数、クラス全体からアクセス可能
}

静的変数のスコープ

静的変数はクラスレベルで宣言されますが、そのスコープも定義されたクラスに限定されます。

实例

class MyClass
{
    static int staticVar = 40; // 静的変数、クラス全体からアクセス可能
}

ループ変数のスコープ

for ループ内で宣言されたループ変数は、ループ本体内で可視です。

。

实例

for (int i = 0; i < 5; i++)
{
    // i はループ本体内で参照可能です
}
// i はここでは見えない

全体として、変数のスコープは変数の可視性とライフサイクルを管理するのに役立ち、変数が有効な範囲内で使用されることを保証し、名前の衝突を防ぐのにも役立ちます。

其他扩展