2009-06-19 21 views
24

¿Qué significa ElapsedTicks y Elapsed.Ticks en la clase cronómetro? ¿Cuándo podría el significado ser diferente de lo previsto?Son StopWatch.ElapsedTicks y StopWatch.Elapsed.Ticks siempre iguales?

+0

+1 compartiendo su conocimiento de esta manera es muy bienvenido – tanascius

+0

puede hacer una pregunta y responderla usted mismo, y creo que hay una insignia para usted también :) –

+1

Gracias. Me di cuenta de esto yo mismo. Al buscarlo, encontré esta publicación. –

Respuesta

21

Me acabo de enterar que ElapsedTicks en la clase cronómetro no significa real "garrapatas" si es True StopWatch.isHighResolution

Nota (if isHighResolution is True):

garrapatas cronómetro son diferentes de DateTime .. ::. Ticks. Cada tilde en el valor DateTime .. ::. Ticks representa un intervalo de 100 nanosegundos. Cada garrapata en el valor ElapsedTicks representa el intervalo de tiempo igual a 1 segundo dividida por la frecuencia.

Usted puede hacer los cálculos indicados arriba o si parece que puede utilizar StopWatch.Elapsed.Ticks en lugar de StopWatch.ElapsedTicks

10
Elapsed.Ticks/TimeSpan.TicksPerSecond == ElapsedTicks/Stopwatch.Frequency 

Por supuesto, esto no puede exactamente iguales debido al redondeo, como las marcas de Cronómetro y las marcas de TiempoSpan se miden en diferentes unidades. Además, en caso de que ejecuta el código anterior, literalmente, obviamente, algunas garrapatas pasarían entre tomar el valor de Elapsed.Ticks y la de ElapsedTicks.

Cuestiones relacionadas