Delen via


IntPtr en UIntPtr implementeren IFormattable

IntPtr en UIntPtr nu implementeren IFormattable. Functies die controleren op IFormattable ondersteuning kunnen nu verschillende resultaten retourneren voor deze typen, omdat ze mogelijk een formatspecificatie en een cultuurspecifieke instelling doorgeven.

Beschrijving wijzigen

In eerdere versies van .NET implementeerden IntPtr en UIntPtrIFormattable niet. Functies die controleren op IFormattable, kunnen terugvallen op het simpelweg bellen van IntPtr.ToString of UIntPtr.ToString, wat betekent dat formaatspecificaties en culturen niet worden gerespecteerd.

In .NET 5 en latere versies implementeren IntPtr en UIntPtrIFormattable. Functies die controleren op IFormattable ondersteuning kunnen nu verschillende resultaten retourneren voor deze typen, omdat ze mogelijk een formatspecificatie en een cultuurspecifieke instelling doorgeven.

Deze wijziging is van invloed op scenario's zoals geïnterpoleerde tekenreeksen en Console.WriteLine, onder andere.

Reden voor wijziging

IntPtr en UIntPtr nu taalondersteuning in C# hebben via de nint trefwoorden en nuint trefwoorden. De backingtypen zijn bijgewerkt om vrijwel pariteit (indien mogelijk) te bieden met functionaliteit die wordt weergegeven door andere primitieve typen, zoals System.Int32.

Geïntroduceerde versie

5,0

Als u geen opmaakaanduiding of aangepaste cultuur wilt gebruiken bij het weergeven van waardes van deze typen, kunt u de IntPtr.ToString() en UIntPtr.ToString() overloads van ToString() aanroepen.

Betreffende API's

Kan niet worden gedetecteerd via API-analyse.