Udostępnij za pośrednictwem


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.

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.

Dotyczy interfejsów API