1

ストップウォッチを使用してコードの実行時間を見つけることができました

例:

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 です。

編集:このコードは正常に実行されています...再帰関数に1つのエラーがありました...

4

1 に答える 1

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);
        }
    }
}
于 2012-11-29T14:21:07.350 に答える