El formato Complex.ToString cambió a <a; b>

Para admitir mejor los valores de formato con información específica de la referencia cultural, se cambió la representación de cadena predeterminada de números complejos para evitar el uso de caracteres que se puedan usar en valores numéricos con formato. Este cambio afecta a Complex.ToString, donde ahora el valor tiene el formato <a; b> en lugar de (a, b). Tanto a como b tienen formato mediante el especificador de formato general ("G") y las convenciones de la referencia cultural definida por el proveedor, que no ha cambiado.

Comportamiento anterior

Anteriormente, la representación de cadena del número complejo devuelto por Complex.ToString mostraba el número utilizando sus coordenadas cartesianas en el tipo (a, b), donde a era la parte real del número complejo y b su parte imaginaria.

Comportamiento nuevo

Desde .NET 8, la representación de cadena del número complejo devuelto por Complex.ToString muestra el número utilizando sus coordenadas cartesianas en el tipo <a; b>, donde a es la parte real del número complejo y b su parte imaginaria.

Versión introducida

.NET 8

Tipo de cambio importante

Este es un cambio de comportamiento.

Motivo del cambio

El cambio para usar un punto y coma permite admitir el formato con información específica de la referencia cultural. También permite la necesidad correspondiente de poder analizar los resultados de nuevo, dado que implementa INumberBase<TSelf>.

El cambio de paréntesis (( )) a corchetes angulares evita posibles colisiones con formatos numéricos en los que los números negativos se formatean como (x). El nuevo comportamiento también es coherente con el comportamiento de los tipos Vector*.

Si necesitase el formato anterior, use un mecanismo de formato de cadena personalizado, como $"({complex.Real}, {complex.Imaginary})", para generar una cadena en ese formato.

API afectadas