字段和局部變量的作用域沖突
某些情況下可以區分名稱相同,作用域相同的兩個標識符。原因是C#在變量之間有一個基本的區分,它把在類級別聲明的變量看作
字段,而把在方法中聲明的變量看作局部變量。
class Program
{
int j = 20;
static void Main(string[] args)
{
int j = 30;
Console.WriteLine(j);
Console.ReadKey();
}
}
雖然在Main()方法的作用域內聲明了兩個j,這段代碼也會編譯。在類級別上定義的j,在該類刪除前是不會超出作用域的,在
Main()中聲明的j隱藏了同名的類級別變量,所以運行代碼時會顯示30.
感覺可以用方法中的變量更改來達到保護或者隱藏類中字段的意思?