Novidades do .NET 7: suporte a Nanossegundos e Microssegundos

Renato Groffe
2 min readJan 14, 2023

--

Até a versão 6 a menor representação de tempo possível na plataforma .NET correspondia à propriedade Ticks, uma medida que está presente no tipo DateTime. Importante destacar que o valor 1 em Ticks equivale a 100 nanossegundos (1 nanossegundo = 1/1.000.000 milissegundos; 1 milissegundo = 1/1000 segundos).

O .NET 7 traz melhorias em representações de tempo e que vão além do limite até então existente (propriedade Ticks), suportando também agora nanossegundos e microssegundos em novos métodos, propriedades e construtores nos tipos DateTime, DateTimeOffset, TimeSpan e TimeOnly. Trata-se de um aperfeiçoamento bastante útil para o desenvolvimento de aplicações voltadas a fins científicos/acadêmicos, assim como em cenários que envolvam análises e melhorias de performance.

Na listagem a seguir podemos observar:

  • O uso das propriedades Nanosecond e Microsecond com o tipo DateTime (na Local Function ExibirInfoMomento);
  • A utilização do método FromMicroseconds com a classe TimeSpan, a fim de gerar um intervalo de espera de 500 mil milissegundos.

Na imagem a seguir temos um resultado possível para a execução desse exemplo:

Clique nesta imagem para visualizar com uma melhor resolução

Este código foi também disponibilizado no GitHub:

https://github.com/renatogroffe/DotNet7-ConsoleApp-Nano-Microssegundos

Caso achem útil a solução, peço por favor um ⭐️ no repositório apoiando. Fica também o convite para que vocês me sigam lá no GitHub!

--

--

Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker