加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#中方法的持续时间,时间开始和结束时间

发布时间:2020-12-16 00:24:21 所属栏目:百科 来源:网络整理
导读:如何使用c#执行方法时,如何记录方法的持续时间,时间开始和结束时间? 例如,我点击一个按钮,它会做一些事情.一旦开始,我将获得开始时间,然后当执行完成时,我将得到时间结束以及完成所需的持续时间. 解决方法 您可以使用驻留在System.Diagnostics名称空间中的
如何使用c#执行方法时,如何记录方法的持续时间,时间开始和结束时间?

例如,我点击一个按钮,它会做一些事情.一旦开始,我将获得开始时间,然后当执行完成时,我将得到时间结束以及完成所需的持续时间.

解决方法

您可以使用驻留在System.Diagnostics名称空间中的 Stopwatch.

它具有普通秒表的功能,包括开始,停止,重置,经过的时间等等.

这非常适合测量特定的代码块或方法.但是,除了执行的持续时间之外,您还要说明您需要开始和结束时间.您可以通过继承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();
        }

    }

并像这样使用它:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读