网站建设学习,wordpress内外网访问,网站建设中模,网站定位分析Stopwatch类提供一组方法和属性#xff0c;一般用来测量代码运行消耗时间,以便获取更多代码运行性能上的数据。以下主要介绍C#中用Stopwatch实现执行耗时及性能监测的方法。 1、Stopwatch简介
1#xff09;命名空间
using System.Diagnostics;
2#xff09;字段 字段 字…Stopwatch类提供一组方法和属性一般用来测量代码运行消耗时间,以便获取更多代码运行性能上的数据。以下主要介绍C#中用Stopwatch实现执行耗时及性能监测的方法。 1、Stopwatch简介
1命名空间
using System.Diagnostics;
2字段 字段 字段说明 Frequency 获取以每秒刻度数表示的计时器频率。 此字段为只读。 IsHighResolution 指示计时器是否基于 高分辨率性能计数器 。 此字段为只读。 3属性 属性 属性说明 Elapsed 获取当前实例测量得出的总运行时间。 ElapsedMilliseconds 获取当前实例测量得出的总运行时间 以毫秒为单位。 ElapsedTicks 获取当前实例测量得出的总运行时间 用计时器刻度表示。 IsRunning 获取一个值 该值表示 Stopwatch 计时器是否正在运行。 4方法 方法 方法说明 Equals(Object) 确定指定对象是否等于当前对象。 GetHashCode() 作为默认哈希函数。 GetTimestamp() 获取计时器机制中的当前刻度数。 GetType() 获取当前实例的 Type。 MemberwiseClone() 创建当前 Object 的浅表副本。 Reset() 停止时间间隔测量并将运行时间重置为零。 Restart() 停止时间间隔测量将运行时间重置为零 然后开始测量运行时间。 Start() 开始或继续测量某个时间间隔的运行时间。 StartNew() 初始化新的 Stopwatch 实例 将运行时间属性设置为零然后开始测量运行时间。 Stop() 停止测量某个时间间隔的运行时间。 ToString() 返回表示当前对象的字符串。 2、Stopwatch的使用
Stopwatch类相关字段、属性、方法的使用示例可以参考代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;namespace ConsoleApplication
{class Program{static void Main(string[] args){//创建Stopwatch实例Stopwatch sw new Stopwatch();//开始计时sw.Start();for (int i 0; i 100; i){Console.WriteLine(i);}//停止计时sw.Stop();Console.WriteLine(用时 sw.ElapsedMilliseconds );//重置 停止时间间隔测量并将运行时间重置为0sw.Reset();Console.WriteLine(用时 sw.ElapsedMilliseconds );//重启 停止时间间隔测量并将运行时间重置为0然后重新开始 测量运行时间sw.Restart();for (int i 0; i 100; i){Console.WriteLine(i);}sw.Stop();//获取当前实例测量得出的总运行时间以毫秒为单位Console.WriteLine(用时 sw.ElapsedMilliseconds );//获取当前实例测量得出的总运行时间Console.WriteLine(用时 sw.Elapsed);//获取当前实例测量得出的总运行时间用计时器刻度表示。Console.WriteLine(sw.ElapsedTicks);Console.Read();//开始计时sw.Start();System.Threading.Thread.Sleep(1000); //耗时操作 测试代码休眠1000毫秒//结束计时sw.Stop();Console.WriteLine(sw.ElapsedMilliseconds); //输出消耗的毫秒Console.WriteLine(sw.Elapsed.ToString()); //输出时分秒//重置秒表sw.Reset();Console.WriteLine(Reset End);//再次开始计时或者直接用**Restart**函数直接重置并开始sw.Start();System.Threading.Thread.Sleep(1200);//第二次计时结束sw.Stop();Console.WriteLine(sw.ElapsedMilliseconds);if (Stopwatch.IsHighResolution){Console.WriteLine(使用系统的高分辨率性能计数器的计时的操作.);}else{Console.WriteLine(使用DateTime类的计时操作.);}long frequency Stopwatch.Frequency;Console.WriteLine(计时器频率以滴答/秒为单位 {0}, frequency);long nanosecPerTick (1000L * 1000L * 1000L) / frequency;Console.WriteLine(计时器在{0}纳秒以下范围内准确, nanosecPerTick.ToString());}}
}