Complex.ToString 格式已更改为 <a; b>
为了更好地支持包含区域性特定信息的格式化值,已更改复数的默认字符串表示形式,以避免使用可在格式化数值中使用的字符。 此更改会影响 Complex.ToString,现已将其中值格式化为 <a; b>
而不是 (a, b)
。 a 和 b 都使用通用格式说明符(“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})"
来生成该格式的字符串。