Conheça a classe Stopwatch do C#

Conheça a classe Stopwatch do C#

Fala galera já faz um tempo que não posto nada por aqui, pois ando estudando novas tecnologias e complica de gravar novas vídeo aulas para vocês.

Então resolvi compartilhar uma dica simples, útil e que ainda existem muitos desenvolvedores que não conhecem.

Irei falar sobre uma classe no C# que tem a função de cronometro.

Enquanto DateTime é bom para obter o valor atual da data e hora, não é exatamente preciso ou leve. Assim, ao sincronizar um processo, uma maneira melhor de fazer isso é usar a classe Stopwatch a partir do namespace System.Diagnostics.

Veja um exemplo de como funciona!

Este código terá como resultado:

Existem algumas propriedades que podemos usar para ver quanto tempo passou entre os métodos Start () ,  StartNew ()  e Stop ():

Elapsed – Retorna uma TimeSpan com o tempo decorrido.
ElapsedMilliseconds – Retorna um long com o número de milissegundos decorridos.
ElapsedTicks – Retorna um long com o número de tiques decorridos no cronômetro .

Os dois primeiros são auto-explicativos, o último precisa de mais uma explicação, pois pode ser uma fonte de confusão.

ElapsedTicks são baseados em uma combinação do hardware da máquina e do sistema operacional. Com isso você pode ter uma diferença de 100 nanossegundos de diferença entre os intervalos.

Mostrando a diferença:

Por exemplo, se eu executar isso na minha máquina atual, vejo a seguinte saída:

Considerações finais:
Se você ainda costuma medir o tempo de processamento com Datetime, pare agora mesmo e use a classe Stopwatch, ela além de ser mais leve, oferece outros recursos interessantes que não mencionei aqui nesse post.

Bom espero que tenham gostado da dica!

Até o próximo post!

Previous Conheça os operadores implicit e explicit do C#
Next Conheça alguns segredos do Chrome DevTools

About author

Paulo Rogério
Paulo Rogério 206 posts

Sou apaixonado por tecnologia e adoro criar aplicações desktop, web e mobile. Adoro aprender e compartilhar conhecimento, meu hobby é ajudar as pessoas.

You might also like

Curso grátis – Dominando Linq e Lambda Expressions com C#

Share this on WhatsAppLinq é um set de recursos introduzidos no framework do dotnet que nos permite trabalhar  com coleções de dados de uma forma muito eficaz. Se você deseja

BackEnd 0 Comments

Diferenças do int.Parse() e int.TryParse() em C#

Share this on WhatsAppVocê conhece a diferença dos métodos int.Parse() e int.TryParse() usados no C#? O objetivo desses métodos são converter uma representação numérica que está no formato de string, ou

BackEnd 0 Comments

Como crio Robôs para WhatsApp

Share this on WhatsAppFala Dev,hoje resolvi trazer um post um pouco diferente, irei tentar responder uma pergunta muito frequente que eu recebo todos os dias. Como eu crio robôs para

1 Comment

  1. Raphael
    outubro 26, 16:57 Reply
    Muito bacana! não conhecia essa ótima ferramenta! Parabéns Amigo!

Leave a Reply