Udostępnij za pośrednictwem


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.

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ą.

Dotyczy interfejsów API