c# 高级编程 (第33页)

135 阅读1分钟

变量的作用域

确定作用域遵循以下规则:

  • 只要类的局部变量在某个作用域内,其字段(也称为成员变量)也在该作用域内
  • 局部变量存在于表示声明该变量的块语句或方法结束的右花括号之前的作用域内
  • 在for, while或类似语句中声明的局部变量存在于该循环体内

字段和局部变量的作用域冲突

  • c# 在变量之间有一个基本的区分,它把在类型级别声明的变量看成字段,而把在方法中声明的变量看成局部变量
class Program
{
    static int j = 20;
    static void Main()
    {
        int j = 30;
        Console.WriteLine(j);
        return;
    }
}
  • 类级别上定义的j, 在Program删除前(上例是Main方法终止,程序结束时)不会超出作用域
  • Main中定义的j, 会隐藏类级别定义的同名变量j, 所以运行结果是30

输出:

30