{"id":11848,"date":"2025-03-21T14:39:23","date_gmt":"2025-03-21T14:39:23","guid":{"rendered":"https:\/\/byte-bucket.com\/2025\/03\/21\/optimierte-zeitmessung-net-9-0-bringt-praezisere-timespan-konvertierung-mit-integer-werten\/"},"modified":"2025-03-21T14:39:23","modified_gmt":"2025-03-21T14:39:23","slug":"optimierte-zeitmessung-net-9-0-bringt-praezisere-timespan-konvertierung-mit-integer-werten","status":"publish","type":"post","link":"https:\/\/byte-bucket.com\/?p=11848","title":{"rendered":"Optimierte Zeitmessung: .NET 9.0 bringt pr\u00e4zisere TimeSpan-Konvertierung mit Integer-Werten"},"content":{"rendered":"<p>Die .NET TimeSpan-Datenstruktur existiert seit dem Release des ersten .NET Frameworks im Jahr 2002 und dient der Darstellung von Zeitr\u00e4umen. Mit der Ver\u00f6ffentlichung von .NET 9.0 bringt Microsoft eine Optimierung f\u00fcr diese langj\u00e4hrig bestehende Datenstruktur ein, die sich auf die Konvertierungsmethoden bezieht. Urspr\u00fcnglich waren Methoden wie `codeFromMicroseconds()`, `codeFromSeconds()`, `codeFromMinutes()`, `codeFromHours()` und `codeFromDays()` konzipiert, um Zeitr\u00e4ume aus numerischen Werten zu erstellen. Diese Methoden akzeptierten jedoch als Eingabe ausschlie\u00dflich Double-Werte, was aufgrund der Gleitkommagenauigkeit zu ungenauen Ergebnissen f\u00fchren konnte, insbesondere bei komplexeren Berechnungen oder bei der Darstellung von Zeitr\u00e4umen mit Millisekundenpr\u00e4zision.<\/p>\n<p>In .NET 9.0 wurden diese Methoden \u00fcberarbeitet, sodass sie nun auch Integer-Eingaben akzeptieren. Dies erm\u00f6glicht eine pr\u00e4zisere Darstellung von Zeitr\u00e4umen, da Integer-Werte exakte Werte repr\u00e4sentieren, im Gegensatz zu den potenziell ungenauen Gleitkommawerten. Beispielsweise kann man mit `TimeSpan.FromSeconds(seconds: 123, milliseconds: 456` nun explizit die Sekunden und Millisekunden angeben, was zu einer genaueren Darstellung des Zeitraums f\u00fchrt als die Verwendung eines Double-Werts wie 123.456.<\/p>\n<p>Diese \u00c4nderung bringt insbesondere Vorteile bei der Arbeit mit Zeiteinheiten, wo hohe Pr\u00e4zision unerl\u00e4sslich ist, wie zum Beispiel in den Bereichen der Finanzmodellierung oder wissenschaftlichen Berechnungen. Durch die Nutzung von Integer-Werten anstelle von Doubles f\u00fcr die Konvertierung verbessert .NET 9.0 die Genauigkeit und Zuverl\u00e4ssigkeit von TimeSpan-Operationen. Die visuelle Darstellung des Unterschieds zwischen alten und neuen Methoden wird durch Beispiele im Codefragment verdeutlicht, wobei der zweite Wert in der alten Form ungenau dargestellt wird, w\u00e4hrend er mit der neuen Methode pr\u00e4zise wiedergegeben wird. Dies unterstreicht den positiven Einfluss dieser Optimierung auf die Genauigkeit von TimeSpan-Operationen.<\/p>\n<p>Zusammenfassend verbessert .NET 9.0 die Pr\u00e4zision und Zuverl\u00e4ssigkeit der TimeSpan-Datenstruktur durch die Erweiterung der Konvertierungsmethoden zur Annahme von Integer-Werten. Diese \u00c4nderung st\u00e4rkt insbesondere Anwendungen, die hohe Anforderungen an die Genauigkeit von Zeitmessung und -berechnung haben.<\/p>\n<p>Schlagw\u00f6rter: .NET + Microsoft + codeFromMicroseconds<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die .NET TimeSpan-Datenstruktur existiert seit dem Release des ersten .NET Frameworks im Jahr 2002 und dient der Darstellung von Zeitr\u00e4umen. Mit der Ver\u00f6ffentlichung von .NET 9.0 bringt Microsoft eine Optimierung f\u00fcr diese langj\u00e4hrig bestehende Datenstruktur ein, die sich auf die Konvertierungsmethoden bezieht. Urspr\u00fcnglich waren Methoden wie `codeFromMicroseconds()`, `codeFromSeconds()`, `codeFromMinutes()`, `codeFromHours()`&#46;&#46;&#46;<\/p>\n","protected":false},"author":4,"featured_media":11847,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-11848","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/11848","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11848"}],"version-history":[{"count":0,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/11848\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/media\/11847"}],"wp:attachment":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11848"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11848"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}