Complex.ToString-indeling gewijzigd in <a; b>
Ter ondersteuning van opmaakwaarden met cultuurspecifieke informatie is de standaardtekenreeksweergave van complexe getallen gewijzigd om te voorkomen dat tekens worden gebruikt die kunnen worden gebruikt in opgemaakte numerieke waarden. Deze wijziging is van invloed op Complex.ToString, waarbij de waarde nu is opgemaakt als <a; b>
in plaats van (a, b)
. Zowel a als b worden opgemaakt met behulp van de algemene notatieaanduiding (G) en de conventies van de cultuur die door de provider is gedefinieerd. Dit is niet gewijzigd.
Vorig gedrag
Voorheen werd in de tekenreeksweergave van het complexe getal dat wordt geretourneerd door Complex.ToString het getal weergegeven met behulp van de Cartesische coördinaten in de vorm (a, b)
, waarbij a het werkelijke deel van het complexe getal was en b het imaginaire deel ervan was.
Nieuw gedrag
Vanaf .NET 8 geeft de tekenreeksweergave van het complexe getal dat wordt geretourneerd door Complex.ToString het getal weer met behulp van de Cartesische coördinaten in de vorm <a; b>
, waarbij a het werkelijke deel van het complexe getal is en b het imaginaire deel is.
Versie geïntroduceerd
.NET 8
Type wijziging die fouten veroorzaken
Deze wijziging is een gedragswijziging.
Reden voor wijziging
De wijziging voor het gebruik van een puntkomma biedt ondersteuning voor opmaak met cultuurspecifieke informatie. Het maakt het ook mogelijk dat de overeenkomstige noodzaak om resultaten te parseren, gezien het feit dat het wordt geïmplementeerd INumberBase<TSelf>.
De wijziging van haakjes (( )
) naar punthaken voorkomt mogelijke botsingen met numerieke notaties waarbij negatieve getallen zijn opgemaakt als (x)
. Het nieuwe gedrag is ook consistent met het gedrag van de Vector*
typen.
Aanbevolen actie
Als u de vorige indeling nodig hebt, kunt u een aangepast tekenreeksopmaakmechanisme gebruiken, zoals $"({complex.Real}, {complex.Imaginary})"
het produceren van een tekenreeks in die indeling.