Zmiana dokładności metod dodawania daty/godziny
W przypadku platformy .NET 6 i starszych wersji parametr DateTime
wartości metod dodawania został zaokrąglony do najbliższej milisekundy. W programie .NET 7 i nowszych wersjach jest używana pełna Double precyzja parametru wartości. Jednak ze względu na nieodłączną nieprawdopodobność matematycznej zmiennoprzecinkowa precyzja będzie się różnić.
Poprzednie zachowanie
Wcześniej parametr DateTime Add*
wartości metod, double
na przykład, DateTime.AddDays(Double)został zaokrąglony do najbliższej milisekundy.
Nowe zachowanie
Począwszy od platformy .NET 7, jest używana pełna precyzja parametru double
wartości, poprawiając precyzję metod, których dotyczy problem.
Wprowadzona wersja
.NET 7
Typ zmiany powodującej niezgodność
Ta zmiana jest zmianą behawioralną.
Przyczyna wprowadzenia zmiany
Ta zmiana została wprowadzona w odpowiedzi na prośbę społeczności o zwiększenie dokładności w programie DateTime.
Zalecana akcja
Nie ma określonej akcji, chyba że masz kod, który zależy od dokładności Add*
metod. W takim przypadku przejrzyj kod i ponownie przetestuj go, aby uniknąć niespodzianek z dokładnością.