De opmaak van Complex.ToString is gewijzigd naar <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 uitgebracht

.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. Dit maakt het ook mogelijk om, aangezien het INumberBase<TSelf> implementeert, de bijbehorende resultaten weer te parsen.

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.

Als u de eerdere indeling nodig hebt, kunt u een mechanisme voor aangepaste tekenreeksopmaak gebruiken, zoals $"({complex.Real}, {complex.Imaginary})", om een tekenreeks in die indeling te genereren.

Betroffen API’s

Zie ook