为TimeSpan添加1秒不起作用

KTO*_*TOV 0 c# timer win-universal-app

我有这个代码:

 private void TimePlayedTimer_Start()
 {
   timePlayedStr = "00:00:00";
   timePlayed = new DispatcherTimer();
   timePlayed.Tick += timePlayedTimer_Tick;
   timePlayed.Interval = new TimeSpan(0, 0, 0, 1);
   timePlayed.Start();
 }

 void timePlayedTimer_Tick(object sender, object e)
 {
   TimeSpan ts = TimeSpan.Parse(timePlayedStr);
   ts = ts.Add(TimeSpan.FromSeconds(1));
   timePlayedStr = ts.ToString();
 }
Run Code Online (Sandbox Code Playgroud)

当我调试此行,行,TimeSpan ts就等于"00:00:00"但行后ts = ts.Add(TimeSpan.FromSeconds(1));,将一些如何有属性TotalDays = 2.313232439423,TotalHours = 0.000555555,TotalMilliseconds = 2000而不是添加1TotalSeconds属性我得到这些属性值返回.

有谁知道我做错了什么?

PS:我只想TimeSpan在每次之后添加第二个tick

Guf*_*ffa 6

TotalDays实际值是2.31481481481481E-05,即0.0000231481481481481.

你得到的值正是第二个滴答的预期值,你没有设法调试第一个滴答,而你只是解释错误的值.

TotalDays,TotalHoursTotalMilliseconds属性显示在总价值TimeSpan转换为该特定测量中,它们不一起形成的值.

2秒与2000毫秒相同,与0.000555555小时相同.

如果你想看看在价值的成分,你应该看看Days,Hours,Minutes,SecondsMilliseconds属性.在那里你会发现该Seconds物业是2,所有其他都是零.