我得到一個錯誤,在代碼中的if語句中的變量intAge下方的紅線。它說這個變量是本地的,但是它在代碼的開頭聲明的時候怎麼會是本地的呢?它是否與Try/Catch部分有關?我的代碼看起來像這樣的原因,僅僅是因爲我必須在代碼中使用Try/Catch來執行此任務。請提供一些建議以相似和正確的方式解決此問題?謝謝!本地變量和Try/Catch
int intAge;
try
{
intAge = int.Parse(age);
}
catch (Exception)
{
MessageBox.Show("Enter an age in numbers!","Error!");
}
finally
{
}
// Check input
if (intAge < 1)
{
inputOk = false;
errorMessage = "Please enter 1 or higher!";
}
這次很容易知道你的錯誤信息告訴你'intAge'是未初始化的,但下一次包括你得到的實際錯誤信息。當您的代碼示例變得更長和更復雜時,包括錯誤消息可幫助人們更快地發現問題。 – 2012-07-06 09:03:40
養成使用TryParse API的習慣。 – Zenwalker 2012-07-06 09:09:26
_「局部變量」_僅表示在方法內聲明(「已定義」)的變量。所以這是本地的方法。相反的是一個_field_,它是一個在課堂上定義的變量。還有一個_parameter_,它是你的方法簽名中聲明的一個變量。但是,所有這些與編譯時錯誤無關。 – 2012-07-06 09:13:53