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

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.