我试着这样做:
public class TimerTest
{
private DateTime start;
public TimerTest()
{
start = DateTime.Now;
}
public TimerTest(string message)
{
Debug.WriteLine("DEBUG: " + message);
}
public void Finish(string message)
{
var time = DateTime.Now - start;
var timeWent = String.Format("{0}.{1} sec.", time.Seconds, time.Milliseconds.ToString().PadLeft(3, '0'));
你的构造函数重载
public TimerTest(string message)
{
Debug.WriteLine("DEBUG: " + message);
}
甚至不初始化时间变量。
public TimerTest(string message)
{
Debug.WriteLine("DEBUG: " + message);
start = DateTime.Now;
}
我认为问题的一部分是您没有为每个调用实例化一个新的开始时间,所以您只是记录与该时间实例化时的差异。
如果您真的想获得代码执行所需时间的准确读数,一个更好的选择是Stopwatch类,如下所述:
https://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch%28v=vs.110%29.aspx?f=255& MSPPError = -2147217396