IntPtr och UIntPtr implementerar IFormattable

IntPtr och UIntPtr implementerar nu IFormattable. Funktioner som kontrollerar IFormattable stöd kan nu ge olika resultat för dessa typer, eftersom de kan skickas med en formatspecificerare och en kulturinställning.

Ändra beskrivning

I tidigare versioner av .NET implementerade IntPtr och UIntPtr inte IFormattable. Funktioner som söker IFormattable efter kan återgå till att bara anropa IntPtr.ToString eller UIntPtr.ToString, vilket innebär att formatspecificerare och kulturer inte respekteras.

I .NET 5 och senare versioner IntPtr och UIntPtr implementerar IFormattable. Funktioner som kontrollerar IFormattable stöd kan nu ge olika resultat för dessa typer, eftersom de kan skickas med en formatspecificerare och en kulturinställning.

Den här ändringen påverkar scenarier som interpolerade strängar och Console.WriteLine, bland annat.

Orsak till ändring

IntPtr och UIntPtr har nu språkstöd i C# via nyckelorden nint och nuint . Understödstyperna uppdaterades för att ge nära paritet (där det är möjligt) med funktioner som finns tillgängliga i andra primitiva typer, såsom System.Int32.

Version lanserad

5,0

Om du inte vill att en formatspecificerare eller anpassad kultur ska användas när du visar värden av dessa typer kan du anropa överlagringarna IntPtr.ToString() och UIntPtr.ToString() av ToString().

Berörda API:er

Går inte att identifiera via API-analys.