c#最好的方法来检测一些动作的时间

本文关键字:时间 方法 检测 | 更新日期: 2023-09-27 17:50:27

我试着这样做:

    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'));

c#最好的方法来检测一些动作的时间

你的构造函数重载

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