我知道還有很多其他人基本問這個確切的問題,但由於某種原因,他們的所有答案都不起作用。我的代碼如下:C#使用未分配的局部變量異常
bool timerRun = false;
DateTime startTimer, endTimer;
TimeSpan span;
if(timerRun == false){
startTimer = DateTime.Now;
timerRun = true;
}
if(timerRun == true){
endTimer = DateTime.Now;
timerRun = false;
span = endTimer - startTimer; //can also be span = endTimer.Subtract(startTimer);
Console.WriteLine(span.ToString());
}
的timerRun布爾連接到一個按鈕,每按一次,從真變爲假,反之亦然。
但是,每當我運行它,它給我的錯誤「使用未分配的本地變量'startTimer'」。我不知道該如何處理這個問題,因爲沒有人似乎有這個問題。我知道這可能是我的一個新手錯誤,但請原諒我這讓我瘋狂。
感謝
編輯:現在我已運行的通過成爲一個if-else語句,改變
DateTime startTimer, endTimer;
TimeSpan span;
到
DateTime startTimer = new DateTime(), endTimer = new DateTime();
TimeSpan span = new TimeSpan();
但不是寫變量跨度控制檯,它輸出endTimer(日期時間)。
我可以問爲什麼你有兩個if語句呢?因爲你將布爾值設置爲一個使得它無論如何都能進入兩個語句的狀態 – Sayse
這不是完整的代碼,是嗎? –
您需要將您的DateTime變量標識爲Global,以使它們保持活動狀態,整個容器對象處於活動狀態。或另一個類中的靜態變量,它在GUI的生命週期內保持加載到內存中 –