我需要显示以0
开头的时间和(将在几秒钟内继续运行)
我需要在游戏中显示,以便显示播放时间。
如截图所示:
有人告诉我这样做,
Stopwatch st = new Stopwatch();
st.Start();
并用
显示Console.WriteLine(st.Elapsed);
但它不起作用(秒没有运行)! 它显示为:
答案 0 :(得分:1)
据我了解,您只需每1秒钟更新一次显示屏,为什么不使用每1秒钟运行一次的Timer
并增加屏幕上显示的内容。 (在此处阅读有关计时器的信息:http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx)
你可以在这里找到一个例子: How to set timer in C#?
答案 1 :(得分:0)
鉴于这是一个控制台游戏:将TimeSatch中的Elapsed时间存储在TimeSpan中,然后使用Thread.Sleep();来自System.Threading()的属性;模拟1秒钟。
Stopwatch st = new Stopwatch();
st.Start();
while (true)
{
TimeSpan ts = st.Elapsed;
string time = String.Format("{0:00}:{1:00}:{2:00}", ts.Hours, ts.Minutes, ts.Seconds);
Console.Write("\r{0} ", time);
Thread.Sleep(1000);
}
PS:这是我在本网站的第一个答案,我希望我能提供帮助!
答案 2 :(得分:0)
如果是游戏,必须在某个地方animation (game) loop
。你应该把
Console.WriteLine(st.Elapsed);
那里。这样就可以正确刷新。