我可以使用秒表来查找代码的执行时间
示例:
timer.Start();
for(int i=0; i<100; i++)
{
...
}
timer.Stop();
lTime.Text = timer.Elapsed.TotalMilliseconds.ToString();
但是如果我调用一个使用递归的函数呢?
timer.Start();
recur(a, b);
timer.Stop();
lTime.Text = timer.Elapsed.TotalMilliseconds.ToString();
显示执行时间为0。
编辑:这段代码运行正常......我在递归函数中有一个错误...
答案 0 :(得分:1)
以下适用于我:
using System.Diagnostics;
namespace StackOverflow.Demos
{
class Program
{
public static void Main(string[] args)
{
Stopwatch timer = new Stopwatch();
timer.Start();
recur(10000, new object());
timer.Stop();
Console.WriteLine( timer.Elapsed.TotalMilliseconds.ToString());
Console.ReadKey();
}
private static void recur(int a, object b)
{
if (a > 0)
recur(--a, b);
}
}
}