如何在c#中的函数内捕获代码块调用的执行时间

时间:2016-07-06 13:37:48

标签: c#

我想在c#

中捕获特定代码块的执行时间

示例:

public class DoSomething
{
     public void Long_Running_Call()
     {
           .....
     }
     public void Medium_Running_Call()
     {
        .....
     }
 }

在main函数中,我想知道 Long_Running_Call() Medium_Running_Call()的执行时间。

public static void main()
{
    var do_something = New Do_Something();
    do_something.Long_Running_Call(); //I want to print the time taken for this   function call below
}

1 个答案:

答案 0 :(得分:0)

您可以使用System.Diagnostics.Stopwatch

Stopwatch watch = new Stopwatch();
var do_something = new Do_Something();
watch.Start();                         // Start the timer
do_something.Long_Running_Call();      // Long running call
watch.Stop();                          // Stop the timer
TimeSpan elapsed = watch.Elapsed;

当然,假设Long_Running_Call 同步并阻止主线程。