Partilhar via


O formato Complex.ToString foi alterado para <a; b>

Para oferecer melhor suporte à formatação de valores com informações específicas da cultura, a representação de cadeia de caracteres padrão de números complexos foi alterada para evitar o uso de caracteres que podem ser usados em valores numéricos formatados. Essa alteração afeta Complex.ToStringo , onde o valor agora está formatado como <a; b> em vez de (a, b). A e b são formatados usando o especificador de formato geral ("G") e as convenções da cultura definidas pelo provedor — isso não mudou.

Comportamento anterior

Anteriormente, a representação em cadeia do número complexo retornado por Complex.ToString exibia o número usando suas coordenadas cartesianas na forma (a, b), onde a era a parte real do número complexo, e b era sua parte imaginária.

Novo comportamento

A partir do .NET 8, a representação de cadeia de caracteres do número complexo retornado por Complex.ToString exibe o número usando suas coordenadas cartesianas na forma <a; b>, onde a é a parte real do número complexo e b é sua parte imaginária.

Versão introduzida

.NET 8

Tipo de mudança de rutura

Esta mudança é uma mudança comportamental.

Razão para a alteração

A alteração para usar um ponto-e-vírgula permite o suporte à formatação com informações específicas da cultura. Ele também permite que a necessidade correspondente seja capaz de analisar os resultados de volta, uma vez que implementa INumberBase<TSelf>.

A mudança de parênteses (( )) para colchetes angulares evita a potencial colisão com formatos numéricos onde números negativos são formatados como (x). O novo comportamento também é consistente com o comportamento dos Vector* tipos.

Se você precisar do formato anterior, poderá usar um mecanismo de formatação de cadeia de caracteres personalizado, como $"({complex.Real}, {complex.Imaginary})" para produzir uma cadeia de caracteres nesse formato.

APIs afetadas

Ver também