当前位置:首页 > C#学习

C# Stopwatch 类

小道7年前 (2018-11-30)C#学习6016

Stopwatch 可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。一般用来测量代码执行所用的时间或者计算性能数据,在优化代码性能上可以使用Stopwatch来测量时间。

使用的时候需要引用 System.Diagnostics 命名空间。先调用 Start 方法,然后调用 Stop 方法,最后使用 Elapsed 属性或者使用 ElapsedMilliseconds 属性得到运行时间(这两个属性的区别是前者得到的是TimeSpan实例,后者得到的是毫秒)。使用 IsRunning 可以确定 Stopwatch 的当前状态是正在运行还是已经停止。每次调用 Start 时开始累计运行时间计数;每次调用 Stop 时结束当前时间间隔测量,并冻结累计运行时间值。 使用 Reset 方法可以清除现有 Stopwatch 实例中的累计运行时间。

常用属性:

Stopwatch.Elapsed    获取当前实例测量得出的总运行时间。

Stopwatch.ElapsedMilliseconds  获取当前实例测量得出的总运行时间(以毫秒计时)。

Stopwatch.ElapsedTicks  获取当前实例测量得出的总运行时间(用计时器计时周期表示)。

Stopwatch.IsRunning  获取一个指示Stopwatch计时器是否在运行的值。

using System;
using System.Diagnostics;

namespace Stopwatch类
{
    class Program
    {
        static void Main(string[] args)
        {
            Stopwatch sw = new Stopwatch();//实例化
            sw.Start();//开始或继续测量某个时间间隔的运行时间。
            Sum();//调用静态方法
            sw.Stop();//停止测量某个时间间隔的运行时间。
            Console.WriteLine("一共用时 {0} .约用时 {1} 秒.", sw.Elapsed, (sw.ElapsedMilliseconds / 1000));//Elapsed 获取当前实例测量得出的总运行时间。 ElapsedMilliseconds 获取当前实例测量得出的总运行时间(以毫秒为单位)。
            Console.ReadKey();//按任意键
        }
        static void Sum()//静态方法
        {
            long sum = 0;
            for (int i = 0; i < 1000000000; i++)//循环
            {
                sum += i;//相加 sum = sum + i;
            }
            Console.WriteLine("相加结果:" + sum);//输出
        }
    }
}

输出结果:

image.png

扫描二维码推送至手机访问。

版权声明:本文由小道发布,如需转载请注明出处。

本文链接:https://daobk.com/post/128.html

分享给朋友:

“C# Stopwatch 类” 的相关文章

简单的加法计算器

简单的加法计算器

简单的加法计算器,用户在文本框1、2中输入两个数,点击按钮,在文本框3中显示两个数的和。如果1或者2为错误的数据格式,则弹出对话框提示错误。int.TryParse、MessageBox.Show。        pri…

WinForm文本框

WinForm文本框

文本框的几种模式:Multiline(多行)、PasswordChar(密码)将文本框的PasswordChar设为*就是密码框效果,将MultiLine属性设置为true并且将高度拉到合适的大小就是多行效果,textBox4.AppendText("hello"+"\…

修改密码

修改密码

修改密码。界面上有旧密码、新密码、重复新密码,假设旧密码为888888,两次输入的新密码必须和旧密码不一样,并且两次输入的新密码必须一致。        private void button1_Cl…

获取最高成绩姓名和成绩

获取最高成绩姓名和成绩

在多行文本框中输入多行“姓名=成绩”格式的数据,要求输出成绩最高的学生的姓名和成绩。        private void button1_Click(object sender,&nbs…