Cosa significa ElapsedTicks
e Elapsed.Ticks
nella classe StopWatch? Quando potrebbe il significato essere diverso dal previsto?StopWatch.ElapsedTicks e StopWatch.Elapsed.Ticks sono sempre gli stessi?
risposta
ho appena scoperto che ElapsedTicks nella classe cronometro non significa reale "zecche", se StopWatch.isHighResolution è True
Nota (if isHighResolution is True):
zecche cronometro sono diversi da DateTime .. ::. Le zecche. Ogni segno di spunta nel valore DateTime .. ::. Ticks rappresenta un intervallo di 100 nanosecondi. Ogni segno di spunta nel valore ElapsedTicks rappresenta l'intervallo di tempo uguale a 1 secondo diviso per la frequenza.
È possibile fare la matematica al di sopra o sembrare è possibile utilizzare StopWatch.Elapsed.Ticks invece di StopWatch.ElapsedTicks
Elapsed.Ticks/TimeSpan.TicksPerSecond == ElapsedTicks/Stopwatch.Frequency
Naturalmente questo non può esattamente uguale a causa degli arrotondamenti, come i tick del cronometro e i tick del TimeSpan sono misurati in unità diverse. Inoltre, nel caso in cui abbiate eseguito il codice di cui sopra letteralmente, ovviamente alcune tacchebbero tra il prendere il valore di Elapsed.Ticks
e quello di ElapsedTicks
.
+1 condividendo le tue conoscenze in questo modo è molto gradito – tanascius
ti è permesso fare una domanda e rispondi tu stesso - e penso che ci sia anche un distintivo per te :) –
Grazie. L'ho notato io stesso. Cercandolo, ho trovato questo post. –