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 145 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

Conheça os operadores implicit e explicit do C#

Share this on WhatsAppE ai pessoal beleza? Sei que ando sumido ultimamente, mas é devido eu estar gravando vídeo aulas para colocar no site Udemy. Resolvi colocar algum conteúdo pago na Udemy

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

Visual Studio 0 Comments

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

1 Comment

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

Leave a Reply