C#中Stopwatch类的常用用法

Stopwatch类是什么???

Stopwatch类可以很准确的测量运行时间(一个时间间隔或者跨多个时间间隔的已用运行时间),个人认为可以把其当做一个测量时间间隔的小工具。不过使用需要引用命名空间:System.Diagnostics。

Stopwatch类的常用用法

Elapsed获取当前实例测量得出的总运行时间
ElapsedMilliseconds获取当前实例测量得出的总运行时间(以毫秒为单位)
ElapsedTicks获取当前实例测量得出的总运行时间(用计时器刻度表示)
IsRunning获取一个值,该值表示 Stopwatch 计时器是否正在运行。true在运行,false不在运行。
Start开始计时
Stop停止计时
Reset停止时间间隔测量,并将运行时间重置为零
Restart停止时间间隔测量,将运行时间重置为零,然后开始测量运行时间
Stopwatch初始化新的 Stopwatch 实例,将运行时间属性设置为零,然后开始测量运行时间。

Stopwatch类常用用法代码示例

        static void Main(string[] args)
        {
            Stopwatch stopwatch = new Stopwatch();   //创建Stopwatch实例
            stopwatch.Start();                       //计时开始
            for(int i = 1; i < 4; i++)
            {
                int time = i * 1000;
                Console.WriteLine($"计时中,接下来休息{time} ms :");
                Thread.Sleep(time);
            }
            stopwatch.Stop();                     //计时停止
            Console.WriteLine($"一共耗时{stopwatch.ElapsedMilliseconds} ms");   //ElapsedMilliseconds 获取当前实例测量得出的总运行时间(以毫秒为单位)
            stopwatch.Reset();              //Reset  停止时间间隔测量,并将运行时间重置为零。
            Console.WriteLine($"时间间隔{stopwatch.ElapsedMilliseconds}");
            Console.WriteLine();
            stopwatch.Restart();              //Restart  停止时间间隔测量,将运行时间重置为零,然后开始测量运行时间。
            for (int i = 1; i < 10; i++)
            {
                bool flag = false;
                if (i==2||i==8)
                {
                    flag = stopwatch.IsRunning;   //IsRunning 获取一个值,该值表示 Stopwatch 计时器是否正在运行。true在运行,false不在运行。
                    Console.WriteLine(flag);
                }
                int time = i * 1500;
                Console.WriteLine($"计时中,接下来休息{time} ms :");
                Thread.Sleep(time);
            }
            Console.WriteLine($"接下来休息一段时间:");
            Thread.Sleep(3000);
            stopwatch.Stop();
            Console.WriteLine($"一共耗时{stopwatch.Elapsed}");   //Elapsed  获取当前实例测量得出的总运行时间。
            Console.WriteLine($"一共耗时{stopwatch.ElapsedMilliseconds} ms");
            Console.WriteLine($"一共耗时{stopwatch.ElapsedTicks} (计时器刻度)");             //ElapsedTicks  获取当前实例测量得出的总运行时间(用计时器刻度表示)。
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();
            Stopwatch watch = Stopwatch.StartNew();
            /*
             * 初始化新的 Stopwatch 实例,将运行时间属性设置为零,然后开始测量运行时间。
             * StartNew = new Stopwatch + Start
             */
            for (int i = 1; i < 4; i++)
            {
                int time = i * 1000;
                Console.WriteLine($"计时中,接下来休息{time} ms :");
                Thread.Sleep(time);
            }
            watch.Stop();
            Console.WriteLine($"一共耗时{watch.ElapsedMilliseconds} ms");
            Console.ReadLine();
        }

【注】Stopwatch类用法肯定不止以上那些,以上只是最常用的一些用法,对于其他方法大家可以自行学习(欢迎来与我交流Stopwatch)。。。。。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a_dafei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值