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 ciąg reprezentacja liczby zespolonej zwracanej przez Complex.ToString liczbę przy użyciu współrzędnych kartezjańskich w postaci (a, b)
, gdzie element był rzeczywistą częścią liczby zespolonej, a b był jego wyimaginowaną częścią.
Nowe zachowanie
Począwszy od platformy .NET 8, ciąg reprezentujący liczbę zespolona zwracaną przez Complex.ToString program wyświetla liczbę przy użyciu współrzędnych kartezjańskich w postaci <a; b>
, gdzie a jest rzeczywistą częścią liczby zespolonej, a b jest jej wyimaginowaną częścią.
Wprowadzona wersja
.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 również odpowiednią potrzebę analizowania wyników z powrotem, biorąc pod uwagę, że 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 Vector*
typów.
Zalecana akcja
Jeśli potrzebujesz poprzedniego formatu, możesz użyć niestandardowego mechanizmu formatowania ciągów, takiego jak $"({complex.Real}, {complex.Imaginary})"
tworzenie ciągu w tym formacie.