📄 elapsedtime.cs
字号:
namespace NCindy.Util
{
using System;
public sealed class ElapsedTime
{
private static TimeProvider provider = new SimpleProvider();
private long startTime = provider.GetCurrentTime();
public long GetElapsedTime()
{
return this.GetElapsedTime(provider.GetCurrentTime());
}
private long GetElapsedTime(long currentTime)
{
if (this.startTime > currentTime)
{
return provider.ToMillisecond((0x7fffffff + currentTime) - this.startTime);
}
return provider.ToMillisecond(currentTime - this.startTime);
}
public long Reset()
{
long currentTime = provider.GetCurrentTime();
long elapsedTime = this.GetElapsedTime(currentTime);
this.startTime = currentTime;
return elapsedTime;
}
private class SimpleProvider : ElapsedTime.TimeProvider
{
public long GetCurrentTime()
{
return (long) Environment.TickCount;
}
public long ToMillisecond(long time)
{
return time;
}
}
private interface TimeProvider
{
long GetCurrentTime();
long ToMillisecond(long time);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -