您可以使用驻留在命名空间中的秒表System.Diagnostics.
这有一个正常的秒表功能,有Start,Stop,Reset,ElapsedMilliseconds等等.
这非常适合测量特定的代码块或方法.但是,除了执行的持续时间之外,您还要说明您需要开始和结束时间.您可以通过继承Stopwatch该类并使用几个DateTime属性扩展它来创建自定义秒表.
public class CustomStopwatch : Stopwatch
{
public DateTime? StartAt { get; private set; }
public DateTime? EndAt { get; private set; }
public void Start()
{
StartAt = DateTime.Now;
base.Start();
}
public void Stop()
{
EndAt = DateTime.Now;
base.Stop();
}
public void Reset()
{
StartAt = null;
EndAt = null;
base.Reset();
}
public void Restart()
{
StartAt = DateTime.Now;
EndAt = null;
base.Restart();
}
}
Run Code Online (Sandbox Code Playgroud)
并像这样使用它:
CustomStopwatch sw = new CustomStopwatch();
sw.Start();
Thread.Sleep(2342); // just to use some time, logic would be in here somewhere.
sw.Stop();
Console.WriteLine("Stopwatch elapsed: {0}, StartAt: {1}, EndAt: {2}", sw.ElapsedMilliseconds, sw.StartAt.Value, sw.EndAt.Value);
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用System.Diagnostics.Stopwatch类来实现此目的。看样品
// Create new stopwatch
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
// Begin timing
stopwatch.Start();
// Tasks performed by method
// Stop timing
stopwatch.Stop();
Console.WriteLine("Time taken : {0}", stopwatch.Elapsed);
Run Code Online (Sandbox Code Playgroud)