Complex.ToString 格式已變更為 <a; b>

為了更妥善地支援使用特定文化特性資訊的格式化值,複數的預設字串表示已變更,以避免使用可用於格式化數值的字元。 這項變更會影響 Complex.ToString,其中值現在會格式化為 <a; b> ,而不是 (a, b)。 ab 都是使用一般格式規範 (“G”) 和提供者所定義之文化特性的慣例來格式化,這並沒有變更。

先前的行為

先前,由 Complex.ToString 傳回的複數,其字串表示會以其笛卡兒座標的形式 (a, b) 顯示,其中 a 為複數的實部,而 b 為其虛部。

新的行為

從 .NET 8 開始,由 Complex.ToString 傳回之複數的字串表示會使用其笛卡兒座標,以 <a; b> 的形式顯示該數值,其中 a 是複數的實部,而 b 是其虛部。

導入版本

.NET 8

中斷性變更的類型

此變更為行為變更

變更原因

改用分號後,即可支援使用文化特定資訊進行格式化。 它也使相應需求能夠在其實作了 INumberBase<TSelf> 的情況下,將結果再解析出來。

從括弧 (( )) 變更為角括弧,可避免與數值格式發生潛在衝突,其中負數格式化為 (x)。 新的行為也與型別 Vector* 的行為一致。

如果您需要先前的格式,您可以使用自訂字串格式設定機制,例如 $"({complex.Real}, {complex.Imaginary})" ,以該格式產生字串。

受影響的 API

另請參閱