Compartilhar via


IntPtr e UIntPtr implementam IFormattable

IntPtr e UIntPtr agora implemente IFormattable. As funções que verificam o suporte para IFormattable agora podem retornar resultados diferentes para esses tipos, porque podem incluir um especificador de formato e uma cultura.

Descrição da alteração

Nas versões anteriores do .NET, IntPtr e UIntPtr não implementam IFormattable. As funções que verificam IFormattable podem voltar a chamar apenas IntPtr.ToString ou UIntPtr.ToString, o que significa que os especificadores de formato e as culturas não são respeitados.

No .NET 5 e versões posteriores, IntPtr e UIntPtr implementam IFormattable. As funções que verificam o suporte para IFormattable agora podem retornar resultados diferentes para esses tipos, porque podem incluir um especificador de formato e uma cultura.

Essa alteração afeta cenários como cadeias de caracteres interpoladas e Console.WriteLine, entre outros.

Motivo da alteração

IntPtr e UIntPtr agora têm suporte ao idioma em C# por meio das palavras-chave nint e nuint. Os tipos de backup foram atualizados para fornecer paridade próxima (sempre que possível) com a funcionalidade exposta por outros tipos primitivos, como System.Int32.

Versão introduzida

5,0

Se não quiser que um especificador de formato ou cultura personalizada seja usado ao exibir os valores desses tipos, você poderá chamar as sobrecargas IntPtr.ToString() e UIntPtr.ToString() de ToString().

APIs afetadas

Não detectável por meio da análise de API.