La classe TimeSpan ha sempre avuto metodi From* per la creazione di un oggetto TimeSpan utilizzando un double come parametro di input. Tuttavia, double è un formato a virgola mobile e questo può causare una errori in fase di creazione dell'ggetto TimeSpan. Prendiamo come esempio la seguente riga di codice.
TimeSpan.FromSeconds(23.455);
Questo codice vuole è creare un'istanza di TimeSpan che rappresenta 23 secondi e 455 millesimi, ma in realtà il risultato è un'istanza che rappresenta 23 secondi e 4549999 millisecondi.
Per risolvere questo problema, .NET 9 introduce nuovi overload che permettono di creare oggetti TimeSpan partendo da int invece che da double. Questi overload sono FromDays, FromHours, FromMinutes, FromSeconds, FromMilliseconds e FromMicroseconds.
Questi overload accettano un primo parametro obbligatorio che rappresenta il valore inizialre da cui creare l'istanza (il primo parametro di FromDays è il numero di giorni, il primo parametro di FromHours è l'ora e così via), e parametri successivi, opzionali, che rappresentano le restanti parti (gli altri parametri di FromDays sono ore, minuti, secondi e millisecondi e microsecondi, gli altri parametri di FromHours sono minuti, secondi e millisecondi e microsecondi).
TimeSpan timeSpan1 = TimeSpan.FromSeconds(23.455); // timeSpan1 = 00:00:23.4549999 TimeSpan timeSpan2 = TimeSpan.FromSeconds(seconds: 23, milliseconds: 455); // timeSpan2 = 00:00:23.455
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Nessuna risorsa collegata
I più letti di oggi
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- .NET Conference Italia 2024 - Milano
- Gestione CSS in Blazor con .NET 9