Udostępnij za pośrednictwem


Elementy IntPtr i UIntPtr wdrażają funkcję IFormattable

IntPtra UIntPtr teraz zaimplementuj .IFormattable Funkcje sprawdzające IFormattable obsługę mogą teraz zwracać różne wyniki dla tych typów, ponieważ mogą one przekazywać specyfikator formatu i kulturę.

Opis zmiany

W poprzednich wersjach platformy .NET IntPtr i UIntPtr nie implementują IFormattableprogramu . Funkcje, które sprawdzają IFormattable , mogą wrócić do wywołania IntPtr.ToString lub UIntPtr.ToString, co oznacza, że specyfikatory formatu i kultury nie są przestrzegane.

W programie .NET 5 i nowszych wersjach IntPtr i UIntPtr zaimplementuj program IFormattable. Funkcje sprawdzające IFormattable obsługę mogą teraz zwracać różne wyniki dla tych typów, ponieważ mogą one przekazywać specyfikator formatu i kulturę.

Ta zmiana ma wpływ na scenariusze, takie jak ciągi interpolowane i Console.WriteLine, między innymi.

Przyczyna wprowadzenia zmiany

IntPtr i UIntPtr teraz mają obsługę języka w języku C# za pomocą nint słów kluczowych i nuint . Typy kopii zapasowych zostały zaktualizowane w celu zapewnienia bliskiej parzystości (tam, gdzie to możliwe) z funkcjami udostępnianymi przez inne typy pierwotne, takie jak System.Int32.

Wprowadzona wersja

5,0

Jeśli nie chcesz używać specyfikatora formatu ani kultury niestandardowej podczas wyświetlania wartości tych typów, możesz wywołać IntPtr.ToString() przeciążenia ToString()i UIntPtr.ToString() .

Dotyczy interfejsów API

Nie można wykryć za pośrednictwem analizy interfejsu API.