Warum Zeitspanne.FromSeconds(Doppel -) Runde auf Millisekunden?

TimeSpan.FromSeconds nimmt eine Doppel -, und repräsentieren Werte bis hinab zu 100 Nanosekunden, bei dieser Methode ist jedoch unerklärlich, rundet die Zeit auf ganze Millisekunden.

Da habe ich gerade eine halbe Stunde damit verbracht zu lokalisieren, diese (dokumentiert!) Verhalten, wissen, warum dies der Fall ist würde es leichter machen, sich mit der Zeit verloren.

Kann jemand empfehlen, warum dies scheinbar kontraproduktiv Verhalten umgesetzt wird?

TimeSpan.FromSeconds(0.12345678).TotalSeconds
    //0.123
TimeSpan.FromTicks((long)(TimeSpan.TicksPerSecond * 0.12345678)).TotalSeconds
    //0.1234567
  • Ich bin es Leid, zu sehen, dass die alte Antwort Weg. Ich bezweifle, ich könnte kommen mit etwas besser (und ich wollte auf +1...)
  • "[K]nowing, warum dies der Fall ist würde es leichter machen, sich mit der verschwendeten Zeit." Betrachten Sie es als eine versunkene Kosten.
  • Gebissen, durch das auch. Meine Theorie ist, dass es ein Fehler war, in .net 1 und wurde noch nicht geändert, weil es würde brechen vorhandenen Programme. IMO sollten die MS zumindest update der intellisense Beschreibung, um anzuzeigen, dass diese Funktion nur Millisekunden-Präzision.
  • MS Bug-Eintrag: connect.microsoft.com/VisualStudio/feedback/details/653782/...
Schreibe einen Kommentar