for、while 迴圈內宣告的變數,僅存在於該迴圈本體。for (int i = 0; i < 10; i++) { Console.WriteLine(i); }
for (int i = 0; i < 20; i++) { Console.WriteLine(i); }
兩個迴圈各自的 i 作用域獨立,均正常輸出。
int j = 5;
for (int i = 0; i < 10; i++) {
int j = 20; // 編譯錯誤:外層 j 作用域涵蓋迴圈,無法重複宣告
Console.WriteLine(i + j);
}
外層 j 作用域延伸至迴圈內,導致內層無法宣告同名變數。