Format Complex.ToString został zmieniony na <a; b>

Aby lepiej obsługiwać formatowanie wartości z informacjami specyficznymi dla kultury, domyślna reprezentacja ciągów liczb zespolonych została zmieniona, aby uniknąć używania znaków, które mogą być używane w sformatowanych wartościach liczbowych. Ta zmiana ma wpływ na Complex.ToStringelement , gdzie wartość jest teraz sformatowana jako <a; b> zamiast (a, b). Zarówno a, jak i b są formatowane przy użyciu ogólnego specyfikatora formatu ("G") i konwencji kultury zdefiniowanej przez dostawcę — nie zostało to zmienione.

Poprzednie zachowanie

Wcześniej reprezentacja liczby zespolonej w postaci ciągu znaków zwracana przez Complex.ToString przedstawiała tę liczbę przy użyciu jej współrzędnych kartezjańskich w postaci (a, b), gdzie a było częścią rzeczywistą liczby zespolonej, a b było jej częścią urojoną.

Nowe zachowanie

Począwszy od platformy .NET 8 reprezentacja ciągowa liczby zespolonej zwracana przez Complex.ToString przedstawia tę liczbę za pomocą współrzędnych kartezjańskich w postaci <a; b>, gdzie a jest częścią rzeczywistą liczby zespolonej, a b jest jej częścią urojoną.

Wersja wprowadzona

.NET 8

Typ zmiany powodującej niezgodność

Ta zmiana jest zmianą behawioralną.

Przyczyna wprowadzenia zmiany

Zmiana użycia średnika umożliwia obsługę formatowania z informacjami specyficznymi dla kultury. Umożliwia to również wynikającą z tego potrzebę ponownego przetwarzania wyników, ponieważ implementuje INumberBase<TSelf>.

Zmiana nawiasów (( )) na nawiasy kątowe pozwala uniknąć potencjalnej kolizji z formatami liczbowymi, w których liczby ujemne są formatowane jako (x). Nowe zachowanie jest również zgodne z zachowaniem typów Vector*.

Jeśli potrzebujesz poprzedniego formatu, możesz użyć niestandardowego mechanizmu formatowania ciągów znaków, takiego jak $"({complex.Real}, {complex.Imaginary})", aby wygenerować ciąg w tym formacie.

Interfejsy API, których to dotyczy

Zobacz także