我知道还有很多其他人基本问这个确切的问题,但由于某种原因,他们的所有答案都不起作用。我的代码如下: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的生命周期内保持加载到内存中 –