秒表是否有最长时间可以运行?

时间:2017-10-17 16:01:22

标签: c#

.NET中的Stopwatch可以运行多长时间?如果达到该限制,它会换行为负数还是重新开始?

3 个答案:

答案 0 :(得分:7)

Stopwatch.Elapsed返回TimeSpan。来自MaxValue TimeSpan的{​​{1}}:

  

此字段的值等于Int64.MaxValue标记。此值的字符串表示形式为正10675199.02:48:05.4775807,或略高于10,675,199天。

答案 1 :(得分:5)

  

对于托管代码,System.Diagnostics.Stopwatch类使用QPC作为   它的确切时间基础。

当QPC可用时,always is on Windows XP or later

  

QPC多久翻身一次?

     

从最近的系统启动起不少于100年,并且基于所使用的底层硬件计时器可能更长。对于   大多数应用程序,翻转都不是问题。

https://msdn.microsoft.com/en-us/library/windows/desktop/dn553408%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

假设Microsoft的Windows .NET实现,此限制是特定于硬件的,并且可能小于TimeSpanlong的大小,如其他答案所示。尽管还是足够大。祝你的程序运行100年好运!

答案 2 :(得分:2)

StopWatch使用long数据类型,其最大限制为 -

  

9,223,372,036,854,775,807

所以这是它可以运行的最长时间(滴答)。

虽然这次需要几年才能完成。