C#记录程序运行时间

主要:using System.Diagnostics;当中有Stopwatch类;

介绍如下:

// 摘要:
    //     提供一组方法和属性,可用于准确地测量运行时间。
    public class Stopwatch
    {
        // 摘要:
        //     获取以每秒计时周期数表示的计时器频率。此字段为只读。
        public static readonly long Frequency;
        //
        // 摘要:
        //     指示计时器是否基于高分辨率性能计数器。此字段为只读。
        public static readonly bool IsHighResolution;

        // 摘要:
        //     初始化 System.Diagnostics.Stopwatch 类的新实例。
        public Stopwatch();

        // 摘要:
        //     获取当前实例测量得出的总运行时间。
        //
        // 返回结果:
        //     一个只读的 System.TimeSpan,用于表示当前实例测量得出的总运行时间。
        public TimeSpan Elapsed { get; }
        //
        // 摘要:
        //     获取当前实例测量得出的总运行时间(以毫秒为单位)。
        //
        // 返回结果:
        //     一个只读长整型,表示当前实例测量得出的总毫秒数。
        public long ElapsedMilliseconds { get; }
        //
        // 摘要:
        //     获取当前实例测量得出的总运行时间(用计时器计时周期表示)。
        //
        // 返回结果:
        //     一个只读长整型,表示当前实例测量得出的计时器计时周期的总数。
        public long ElapsedTicks { get; }
        //
        // 摘要:
        //     获取一个指示 System.Diagnostics.Stopwatch 计时器是否在运行的值。
        //
        // 返回结果:
        //     如果 System.Diagnostics.Stopwatch 实例当前正在运行,并且在对某个时间间隔的运行时间进行测量,则该值为 true;否则为
        //     false。
        public bool IsRunning { get; }

        // 摘要:
        //     获取计时器机制中的当前最小时间单位数。
        //
        // 返回结果:
        //     一个长整型,表示基础计时器机制中的计时周期计数器值。
        public static long GetTimestamp();
        //
        // 摘要:
        //     停止时间间隔测量,并将运行时间重置为零。
        public void Reset();
        //
        // 摘要:
        //     停止时间间隔测量,将运行时间重置为零,然后开始测量运行时间。
        public void Restart();
        //
        // 摘要:
        //     开始或继续测量某个时间间隔的运行时间。
        public void Start();
        //
        // 摘要:
        //     对新的 System.Diagnostics.Stopwatch 实例进行初始化,将运行时间属性设置为零,然后开始测量运行时间。
        //
        // 返回结果:
        //     刚刚开始测量运行时间的 System.Diagnostics.Stopwatch。
        public static Stopwatch StartNew();
        //
        // 摘要:
        //     停止测量某个时间间隔的运行时间。
        public void Stop();
    }

  

用Stopwatch计时的例子

 private static void ValueTypePerTest()
        {
            Console.WriteLine("------------Get Time---------------");
            Int64 startTime = Stopwatch.GetTimestamp()//获取计时器机制中当前时间的最小单位数 可以理解为时钟周期
       for(int i=0;i<1000;i++)
            {
 
            }
            Console.WriteLine((Stopwatch.GetTimestamp()-startTime)/(double)Stopwatch.Frequency);//获取以每秒计时周期数表示的计时器频率。此字段为只读
          }
详细查看:http://msdn.microsoft.com/zh-cn/library/vstudio/system.diagnostics.stopwatch.aspx
原文地址:https://www.cnblogs.com/fjsnail/p/3245110.html