Wenn Sie befürchten, dass ein Code sehr zeitaufwändig ist, können Sie StopWatch verwenden, um die von diesem Code verbrauchte Zeit zu überprüfen, wie im folgenden Code gezeigt
System.Diagnostics.Stopwatch timer = new System.Diagnostics.Stopwatch(); timer.Start(); Decimal total = 0; int limit = 1000000; for (int i = 0; i < limit; ++i) { total = total + (Decimal)Math.Sqrt(i); } timer.Stop(); Console.WriteLine(“Sum of sqrts: {0}”,total); Console.WriteLine(“Elapsed milliseconds: {0}”, timer.ElapsedMilliseconds); Console.WriteLine(“Elapsed time: {0}”, timer.Elapsed);
Es gibt jetzt spezielle Tools dafür Die Laufzeit des Programms kann für jede Methode verfeinert werden, z. B. für die dotNetPerformance-Software.
Nehmen Sie den obigen Code als Beispiel. Sie müssen den Quellcode direkt ändern, was etwas umständlich ist, wenn er zum Testen des Programms verwendet wird. Bitte beachten Sie das Beispiel unten.
class AutoStopwatch : System.Diagnostics.Stopwatch, IDisposable { public AutoStopwatch() { Start(); } public void Dispose() { Stop(); Console.WriteLine(“Elapsed: {0}”, this.Elapsed); } }
Mithilfe der Syntax, wie im folgenden Code gezeigt, können Sie die Laufzeit eines Codeabschnitts überprüfen und auf der Konsole ausdrucken.
using (new AutoStopwatch()) { Decimal total2 = 0; int limit2 = 1000000; for (int i = 0; i < limit2; ++i) { total2 = total2 + (Decimal)Math.Sqrt(i); } }