您好,登錄后才能下訂單哦!
int i;
string text;
for(i = 0 ; i < 10; i++)
{
text = "Line"+Convert.ToString(i);
Console.WriteLine("{0}",text);
}
Console.WriteLine("Last text in loop :{0}",text);
這段代碼編譯也會失敗,變量text必須在使用前進行聲明和初始化,而text是在循環中初始化的,賦給text的值在循環退出后就丟失了。
int i;
string text="";
for(i = 0 ; i < 10; i++)
{
text = "Line"+Convert.ToString(i);
Console.WriteLine("{0}",text);
}
Console.WriteLine("Last text in loop :{0}",text);
只聲明一個簡單類型,并不會產生變化,并沒有給變量分配內存。變量只有在賦值后才占用一塊內存。如果這種占用內存的行為只發生在循環中,該值實際只是一個局部變量,在循環的外部就會超出其作用域。在循環外部賦值可以確保該值是主體代碼的局部值,在循環內部仍處于該值的作用域中。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。