use*_*755 1 .net vb.net rollover gettickcount
绝对值是否保护Environment.TickCount包装中的以下代码?
If Math.Abs((Environment.TickCount And Int32.MaxValue) - StartTime) >= Interval Then
    StartTime = Environment.TickCount And Int32.MaxValue ' set up next interval
    ...
    ...
    ...
End If
有没有更好的防范Environment.TickCount环绕的方法?
(这是.NET 1.1.)
编辑 - 根据Microsoft Environment.TickCount帮助修改代码.
如果要测量的时间跨度不超过24.8天(任何更长的时间都不能用有符号整数表示),避免包装问题很容易.在C#中:
int start = Environment.TickCount;
DoLongRunningOperation();
int elapsedTime = Environment.TickCount - start;
我对VB.NET不是很熟悉,但只要你使用未经检查的数学运算,这就行了,你不必担心换行.
例如,如果Environment.TickCount从2147483600换行到-2147483596,则无关紧要.您仍然可以计算它们之间的差异,即100毫秒.
| 归档时间: | 
 | 
| 查看次数: | 11076 次 | 
| 最近记录: |