2016-10-18 42 views

回答

1

一個簡單的方法來解決它是比較前後的時間。

DateTime now = DateTime.Now; // When you start. 
for (int i = 0; i < 40; i++) 
{ 
    // Your logic for adding the tab here... 
    AddTab(); 
} 
TimeSpan elapsed = DateTime.Now - now; //When you're done. 
Console.WriteLine(elapsed.TotalMilliseconds); 

elapsed.TotalMilliseconds將是毫秒總數花來完成動作。給予或採取幾毫秒來處理時間比較。

+0

感謝您的答覆。它適用於我。但是當負載添加tabitem意味着第一次它計算35毫秒和下一個我們運行加載tabitem意味着它顯示40秒..每次加載的時間都不一樣。 –

+0

@ASHOKKUMARM雖然這個答案對於簡單的操作是可以的。複雜操作的「TimeSpan」可能會受到在同一臺PC /服務器上運行的其他應用程序的影響。對於實際測量,我建議使用'PerformanceCounters'或'TotalProcessorTime' – uTeisT

+0

是的,我個人認爲@Noctis提供的答案會提供更好的結果。上面給出的答案在簡單條件下工作,但不會很精確。 – smoksnes

0

儘管Smoksnes的回答很好,但如果您要求更高的精度,建議您使用StopWatch

以下是MSDN文檔:stopwatch

主要好處是它具有更高的精度(如上所述)。 舉例如下:

using System; 
using System.Diagnostics; 
using System.Threading; 
class Program 
{ 
    static void Main(string[] args) 
    { 
     Stopwatch stopWatch = new Stopwatch(); 
     stopWatch.Start(); 
     Thread.Sleep(10000); 
     stopWatch.Stop(); 
     // Get the elapsed time as a TimeSpan value. 
     TimeSpan ts = stopWatch.Elapsed; 

     // Format and display the TimeSpan value. 
     string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", 
      ts.Hours, ts.Minutes, ts.Seconds, 
      ts.Milliseconds/10); 
     Console.WriteLine("RunTime " + elapsedTime); 
    } 
}