麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

C#知識點(diǎn)-StopWatch-計時

2019-11-17 02:40:10
字體:
供稿:網(wǎng)友

C#知識點(diǎn)-StopWatch-計時

目錄

  • 簡單介紹
  • 基本用法
  • 結(jié)尾

簡單介紹

  Stopwatch 可以測量一個時間間隔的運(yùn)行時間,也可以測量多個時間間隔的總運(yùn)行時間。一般用來測量代碼執(zhí)行所用的時間或者計算性能數(shù)據(jù),在優(yōu)化代碼性能上可以使用Stopwatch來測量時間。

基本用法

  使用的時候需要引用System.Diagnostics命名空間。先調(diào)用 Start 方法,然后調(diào)用 Stop 方法,最后使用 Elapsed 屬性或者使用ElapsedMilliseconds屬性得到運(yùn)行時間(這兩個屬性的區(qū)別是前者得到的是TimeSpan實(shí)例,后者得到的是毫秒)。使用 IsRunning 可以確定 Stopwatch 的當(dāng)前狀態(tài)是正在運(yùn)行還是已經(jīng)停止。每次調(diào)用 Start 時開始累計運(yùn)行時間計數(shù);每次調(diào)用 Stop 時結(jié)束當(dāng)前時間間隔測量,并凍結(jié)累計運(yùn)行時間值。 使用 Reset 方法可以清除現(xiàn)有 Stopwatch 實(shí)例中的累計運(yùn)行時間。

  下面的示例演示如何使用Stopwatch類來確定應(yīng)用程序的執(zhí)行時間:

  
            Stopwatch stopwatch = new Stopwatch();            //第一次計時            stopwatch.Start();            Console.WriteLine("Stopwatch is running:{0}",stopwatch.IsRunning);//判斷當(dāng)前Stopwatch的狀態(tài)            System.Threading.Thread.Sleep(1000);//耗時操作            stopwatch.Stop();            Console.WriteLine("Using Elapsed output runTime:{0}", stopwatch.Elapsed.ToString());//這里使用時間差來輸出            Console.WriteLine("Using ElapsedMilliseconds output runTime:{0}", stopwatch.ElapsedMilliseconds);//這里面使用毫秒來輸出            Console.WriteLine("===================================================");            //第二次計時            stopwatch.Start();            System.Threading.Thread.Sleep(1000);//耗時操作            stopwatch.Stop();            Console.WriteLine("The second RunTime:{0}", stopwatch.ElapsedMilliseconds);//這里面使用毫秒來輸出            Console.WriteLine("===================================================");            //第三次計時(這里使用了Restart)            stopwatch.Restart();//這里使用Restart來啟動計時(會把前面的時間清空)            System.Threading.Thread.Sleep(1000);//耗時操作            stopwatch.Stop();            Console.WriteLine("Using Restart, so runTime:{0}", stopwatch.ElapsedMilliseconds);//這里面使用毫秒來輸出            Console.ReadKey();
View Code

  運(yùn)行結(jié)果:

   

  備注:程序中我Sleep 了1000ms 但是輸入結(jié)果是第一次是1002 第二次是2003 最后是1000,有一定的誤差跟電腦性能和當(dāng)前CPU的狀態(tài)有關(guān)系(這里我是猜測的)。

在實(shí)際的項目中,有時候我們無法使用Console.WriteLine() 或者 MessageBox.Show()來得到運(yùn)行時間,這時候我們就需要把時間寫進(jìn)一個文本文件中。

  下面的示例演示如何使用Stopwatch類來確定應(yīng)用程序的執(zhí)行時間并把時間輸出到文本文件中(這里我為了簡單使用的是StreamWriter):

  
            const string path = @"D:/StopwatchDemo.txt";            using (StreamWriter streamWriter = new StreamWriter(path, true, Encoding.UTF8))            {                streamWriter.WriteLine("Start");                streamWriter.Flush();                Stopwatch stopwatch = Stopwatch.StartNew();                System.Threading.Thread.Sleep(1000);//耗時操作                stopwatch.Stop();                streamWriter.WriteLine("RunTime:{0}", stopwatch.ElapsedMilliseconds);//以毫秒的形式寫進(jìn)文件                streamWriter.Flush();            }
View Code

  運(yùn)行結(jié)果:

  

結(jié)尾

    C#中用于計時的操作不只是 Stopwatch 還有其他的如 Timer、TimeSpan 等。我這里只是用Stopwatch來舉個例子?! ?/p>

  


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品麻豆一区二区三区 | 午夜免费网 | 黄色网欧美 | 91精品国产乱码久 | 依人在线视频 | 欧美十区| 红桃一区 | 一级黄色淫片 | 精品久久久久久久久久久久包黑料 | 中文字幕在线免费播放 | 特黄一区二区三区 | 欧美一级视屏 | 久草视频在线资源 | 毛片在哪里看 | 国产精彩视频在线 | www.91pron| 亚洲啊v在线观看 | 免费国产羞羞网站视频 | 91在线视频播放 | 偿还的影视高清在线观看 | 久久老司机| 国产成人高清成人av片在线看 | 色日本视频 | 成人精品视频在线 | 91九色视频在线观看 | 九一免费在线观看 | 色毛片 | 8x成人在线电影 | 精品一区二区久久久久久按摩 | 日本欧美一区二区三区在线播 | 国产女厕一区二区三区在线视 | 国产精品99一区二区 | 久久久综合视频 | 国产精品一区在线观看 | 日本a级免费 | 精品国产乱码一区二区 | 久久国产精品免费视频 | av在线成人 | 精品国产91一区二区三区 | 精品亚洲在线 | 欧美一级棒 |