[c#]Local Objects

Local Objects

Local Objects為在函式裡的Objects,呼叫函式開始建立,函式結束時就消失。

 

寫程式經常會遇到一個錯誤訊息,

1

2

很多書都會說,在宣告一個變數時,要記得給初始值。

而這個錯誤主要因為編譯器為 static flow analysis,在編譯的時期會檢查所有的 local Objects 是否都給初始值,因此只要會變動的變數都必須給予初始值,因為編譯器不能確定non-const-object 的值到底會是什麼,因此編譯時期,無法得知 name = Console.ReadLine() 會不會被執行,既然書中說 non-const-object 會有這種狀況,那將 count 改為 const。

3

4

驗證只要能讓編譯器確保 name = Console.ReadLine() 會執行,則就可以編譯成功。

當然解決這種問題的最好方法就是如書中所說的,記得賞它個初始值。

感謝 sholfen提醒, in91講解 : 寫法建議,宣告變數的地方,最好先給變數一個非Null初始值。

5

4

 

 

Reference

區域變數

C# Primer

 

如文章有錯誤,煩請告知,新人發帖請多包涵

 

創用 CC 授權條款