Il formato di Complex.ToString è stato modificato in <a; b>

Per supportare meglio la formattazione dei valori con informazioni specifiche delle impostazioni cultura, la rappresentazione predefinita in formato stringa dei numeri complessi è stata modificata per evitare l'uso di caratteri che possono essere utilizzati nei valori numerici formattati. Questa modifica influisce su Complex.ToString, dove il valore è ora formattato come <a; b> invece di (a, b). Sia a che b vengono formattati utilizzando lo specificatore di formato generale ("G") e le convenzioni delle impostazioni cultura definite dal provider: questo non è cambiato.

Comportamento precedente

In precedenza, la rappresentazione come stringa del numero complesso restituito da Complex.ToString veniva visualizzata utilizzando le sue coordinate cartesiane nel formato (a, b), dove a era la parte reale del numero complesso e b la sua parte immaginaria.

Nuovo comportamento

A partire da .NET 8, la rappresentazione di stringa del numero complesso restituito da Complex.ToString visualizza il numero usando le coordinate cartesiane nel formato <a; b>, dove è la parte reale del numero complesso e b è la sua parte immaginaria.

Versione introdotta

.NET 8

Tipo di modifica che causa un'interruzione

Questa è una modifica funzionale.

Motivo della modifica

La modifica che prevede l'uso di un punto e virgola consente di supportare la formattazione con informazioni specifiche delle impostazioni locali. Consente inoltre di soddisfare la corrispondente necessità di poter riestrarre i risultati, dato che implementa INumberBase<TSelf>.

Il passaggio da parentesi (( )) a parentesi angolari evita potenziali conflitti con formati numerici in cui i numeri negativi vengono formattati come (x). Il nuovo comportamento è coerente anche con il comportamento dei Vector* tipi.

Se è necessario il formato precedente, è possibile usare un meccanismo di formattazione delle stringhe personalizzato, $"({complex.Real}, {complex.Imaginary})" ad esempio per produrre una stringa in tale formato.

API interessate

Vedere anche