IntPtr und UIntPtr implementieren IFormattable
IntPtr und UIntPtr implementieren jetzt IFormattable. Funktionen, die auf IFormattable-Unterstützung überprüfen, können nun unterschiedliche Ergebnisse für diese Typen zurückgeben, da sie einen Formatbezeichner und eine Kultur übergeben können.
Änderungsbeschreibung
In früheren Versionen von .NET haben IntPtr und UIntPtrIFormattable nicht implementiert. Funktionen, die auf IFormattable überprüfen, können auf das einfache Aufrufen von IntPtr.ToString oder UIntPtr.ToString zurückfallen, was bedeutet, dass Formatbezeichner und Kulturen nicht beachtet werden.
In .NET 5 und höheren Versionen implementieren IntPtr und UIntPtrIFormattable. Funktionen, die auf IFormattable-Unterstützung überprüfen, können nun unterschiedliche Ergebnisse für diese Typen zurückgeben, da sie einen Formatbezeichner und eine Kultur übergeben können.
Diese Änderung wirkt sich z. B. auf Szenarien wie interpolierte Zeichenfolgen und Console.WriteLine aus.
Grund für die Änderung
IntPtr und UIntPtr weisen jetzt Sprachunterstützung in C# durch die Schlüsselwörter nint
und nuint
auf. Die Unterstützungstypen wurden aktualisiert, um Nähe der Parität (sofern möglich) mit Funktionen bereitzustellen, die von anderen primitiven Typen wie System.Int32 zur Verfügung gestellt werden.
Eingeführt in Version
5.0
Empfohlene Maßnahme
Wenn Sie nicht möchten, dass bei der Anzeige von Werten dieser Art ein Formatbezeichner oder eine benutzerdefinierte Kultur verwendet wird, können Sie die IntPtr.ToString()- und UIntPtr.ToString()-Überladungen von ToString()
aufrufen.
Betroffene APIs
Nicht über API-Analyse erkennbar.