Formát Complex.ToString se změnil na <a; b>

Aby bylo možné lépe podporovat formátování hodnot s informacemi specifickými pro jazykovou verzi, výchozí řetězcová reprezentace komplexních čísel se změnila, aby se zabránilo použití znaků, které lze použít ve formátovaných číselných hodnotách. Tato změna ovlivňuje Complex.ToString, kde je hodnota nyní formátována jako <a; b> místo (a, b). a i b jsou formátovány pomocí obecného specifikátoru formátu („G“) a podle konvencí jazykové verze definované poskytovatelem – to se nezměnilo.

Předchozí chování

Dříve se řetězcové znázornění komplexního čísla vráceného číslem Complex.ToString zobrazilo pomocí jeho kartézských souřadnic ve formě (a, b), kde byla skutečná část komplexního čísla a b byla jeho imaginární částí.

Nové chování

Od .NET 8 zobrazí řetězcové vyjádření komplexního čísla vrácené číslem Complex.ToString pomocí jeho kartézských souřadnic ve formě <a; b>, kde je reálná část komplexního čísla a b je jeho imaginární částí.

Představená verze

.NET 8

Typ zásadní změny

Tato změna je změna chování.

Důvod změny

Změna na použití středníku umožňuje podporovat formátování s informacemi specifickými pro dané národní prostředí. To také umožňuje odpovídajícím způsobem zpětně zpracovat výsledky, protože implementuje INumberBase<TSelf>.

Změna závorek (( )) na úhlové závorky zabraňuje potenciální kolizi s číselnými formáty, kde jsou záporná čísla formátována jako (x). Nové chování je také konzistentní s chováním Vector* typů.

Pokud potřebujete předchozí formát, můžete použít vlastní mechanismus formátování řetězců, například $"({complex.Real}, {complex.Imaginary})" k vytvoření řetězce v tomto formátu.

Ovlivněná rozhraní API

Viz také