Stopwatch的ElapsedTicks与Elapsed.Ticks不相等[10000Ticks=1Milliseconds]

这里有耗子 2016-05-11 10:29:25
实测数据数据:
(End - Start).TotalMilliseconds:16.0009(ms)
Elapsed.Ticks:150868(Ticks)
ElapsedTicks:47038(Ticks)
ElapsedMilliseconds:15(ms)
ElapsedTicks测出的时间明显比其他几个时间小
...全文
489 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
.ElapsedMilliseconds 跟 .Elapsed.TotalMilliseconds 基本上一致,只是一个是整数、另一个浮点数。 但是从度量的对象上看,不论你写 .ElapsedMilliseconds 或者 .Elapsed.TotalMilliseconds,它们 跟 .Elapsed.Ticks 是针对相同的对象的。而.ElapsedTicks 根本就是另外一个意思,并不是你要找的结果对象。
  • 打赏
  • 举报
回复
.Elapsed.TotalMilliseconds 跟 .Elapsed.Milliseconds 是两个不同的概念,前者是指跑表计时结果换算为毫秒的值,而后者是指跑表计时结果中毫秒值(忽略了时、分、秒)。你说能一样吗? 对于 .Elapsed.Ticks 跟 .ElapsedTicks的区别,也是类似的。前者才是跑表计时的总时间,后者是一个“循环”改变的值(就好像1位10进制数字,从9以后就循环到0了)。因此后者根本是无意义的。
这里有耗子 2016-05-11
  • 打赏
  • 举报
回复
查了下;说ElapsedTicks只适合短时间的计时;但不知道短时间是指多短时间
这里有耗子 2016-05-11
  • 打赏
  • 举报
回复
Stopwatch sw = new Stopwatch(); DateTime Start = DateTime.Now; sw.Start(); for (int i = 0; i < 60000000; i++) { int ii = 1 + 2; } DateTime End = DateTime.Now; sw.Stop(); double dsa = (End - Start).TotalMilliseconds; Response.Write("(End - Start).TotalMilliseconds:" + dsa.ToString() + "(ms)<br/>"); Response.Write("Elapsed.Ticks:" + sw.Elapsed.Ticks + "(Ticks)<br/>"); Response.Write("ElapsedTicks:" + sw.ElapsedTicks + "(Ticks)<br/>"); Response.Write("ElapsedMilliseconds:" + sw.ElapsedMilliseconds + "(ms)<br/>");
这里有耗子 2016-05-11
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
.Elapsed.TotalMilliseconds 跟 .Elapsed.Milliseconds 是两个不同的概念,前者是指跑表计时结果换算为毫秒的值,而后者是指跑表计时结果中毫秒值(忽略了时、分、秒)。你说能一样吗? 对于 .Elapsed.Ticks 跟 .ElapsedTicks的区别,也是类似的。前者才是跑表计时的总时间,后者是一个“循环”改变的值(就好像1位10进制数字,从9以后就循环到0了)。因此后者根本是无意义的。
ElapsedTicks:如果 一个“循环”改变的值的话;那是怎么循环的呢,1毫秒循环一次吗?在MSDN中ElapsedTicks:获取当前实例测量得出的总运行时间(用计时器计时周期表示)
Poopaye 2016-05-11
  • 打赏
  • 举报
回复
如果Stopwatch.IsHighResolution == true Elapsed里的ticks会乘上一个tickFrequency,它的值是 10000000.0 / (double)Stopwatch.Frequency 我也不知道为什么

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧