Kann ich die verstrichene Zeit seit dem Aufruf von Start
an einer Stoppuhr unter Verwendung von ElapsedMilliseconds
ohne Aufruf von Stop
abrufen? Ich habe viel im Internet gesucht, aber nur Beispiele gesehen, wo ElapsedMilliseconds
nach Stop
aufgerufen wird. Ist dieser Wert bei einem Anruf auf Stop
oder ist es immer richtig?Soll ich Stop aufrufen, bevor ElapsedMilliseconds gelesen wird?
13
A
Antwort
26
Sie können die Eigenschaften Elapsed, ElapsedMilliseconds und ElapsedTicks abfragen, während die Stoppuhr-Instanz ausgeführt oder gestoppt wird. Die Eigenschaften für die verstrichene Zeit steigen stetig an, während die Stoppuhr läuft. Sie bleiben konstant, wenn die Instanz gestoppt wird.
-Von http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.elapsedmilliseconds.aspx
Danke! Ich kann mir nicht vorstellen, wie ich das vermisst habe! –
Ich sehe "interessante" (um es schön zu sagen) Situationen, in denen "watch.Elapsed.Ticks! = Watch.ElapsedTicks" ist, so dass in der Stoppuhr seltsame Dinge passieren. Vorbehaltsteller Ich vermute, dass ich seit ElapsedTicks eine Eigenschaft und keine Methode vermutet habe. Während ich mich beschwere, ist Stoppuhr nicht zuverlässig auf Multi-Core-Maschinen. – Adam
Die Anweisung ruft die Uhrzeit zweimal ab. Wenn die Stoppuhr läuft, kann sie natürlich zwischen diesen beiden Abfragen wechseln. [Wenn du das nach dem Anhalten der Uhr siehst, dann gebe ich dir "komisch" zu. –