c#入門-作用域
阿新 • • 發佈:2020-12-31
技術標籤:c#入門
觀察以下程式碼
Random r = new Random();
int i1 = r.Next(100);
int i2 = r.Next(100);
int i3 = r.Next(100);
if (i1 > i2)
{
int temp = i1;
i1 = i2;
i2 = temp;
}
if (i2 > i3)
{
int temp = i2;
i2 = i3;
i3 = temp;
}
Console.WriteLine($"i1是{i1}\ni2是{i2}\ni3是{i3}");
這是用來交換兩個變數值的過程,如果i1比i2大則交換他們
但是變數名temp聲明瞭兩次,這是為什麼呢?
試試輸出temp
在if內可用,在if外不可用
每個變數,包括其他宣告的東西,都有一個作用域
他能用的範圍僅在作用域內,超出作用域他就失效了
作用域的範圍是用大括號括起來的封閉區間及其內部
從理論上,這種寫法應該是可以的,但是c#為了安全,連前面的地方都不給用。
他的作用域延申到前面,但這個變數此時還沒有宣告,不能使用。