Формат Complex.ToString изменен на <a; b>

Чтобы повысить поддержку форматирования значений с информацией о языках и региональных параметров, было изменено строковое представление сложных чисел по умолчанию, чтобы избежать использования символов, которые можно использовать в отформатированных числовых значениях. Это изменение влияет на Complex.ToStringто, где значение теперь отформатировано как <a; b> вместо (a, b). Оба параметра a и b форматируются с помощью общего описатель формата ("G") и соглашений языка и региональных параметров, определенных поставщиком, — это не изменилось.

Прежнее поведение

Ранее строковое представление комплексного числа, возвращаемого Complex.ToString отображаемым числом с помощью его декартовых координат в форме(a, b), гдебыла реальная часть сложного числа, и b была его мнимой частью.

Новое поведение

Начиная с .NET 8 строковое представление сложного числа, возвращаемого Complex.ToString числом, отображается с помощью его декартовых координат в форме<a; b>, гдеявляется реальная часть сложного числа, и b является его мнимой частью.

Представленные версии

.NET 8

Тип критического изменения

Это изменение поведения.

Причина изменения

Изменение использования с запятой обеспечивает поддержку форматирования с информацией о языке и региональных параметрах. Кроме того, он позволяет соответствующим образом анализировать результаты обратно, учитывая, что реализуется INumberBase<TSelf>.

Изменение с круглых скобок (( )) на угловые скобки позволяет избежать потенциального столкновения с числовыми форматами, в которых отрицательные числа форматируются как (x). Новое поведение также соответствует поведению Vector* типов.

Если вам нужен предыдущий формат, можно использовать настраиваемый механизм форматирования строк, например $"({complex.Real}, {complex.Imaginary})" для создания строки в этом формате.

Затронутые API

См. также