Partilhar via


IntPtr e UIntPtr implementam IFormattable

IntPtr e UIntPtr agora implementam IFormattable. As funções que verificam a existência de IFormattable suporte agora podem retornar resultados diferentes para esses tipos, porque pode-se passar um especificador de formato e uma configuração de cultura.

Alterar descrição

Em versões anteriores do .NET, IntPtr e UIntPtr não implementam IFormattable. As funções que verificam IFormattable podem voltar a ser apenas chamadas 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 a existência de IFormattable suporte agora podem retornar resultados diferentes para esses tipos, porque pode-se passar um especificador de formato e uma configuração de cultura.

Essa mudança impacta cenários como strings interpoladas e Console.WriteLine, entre outros.

Motivo da mudança

IntPtr e UIntPtr agora têm suporte de linguagem em C# através das palavras-chave nint e nuint. Os tipos de suporte foram atualizados para fornecer quase equivalência (quando possível) à funcionalidade oferecida 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 valores desses tipos, pode chamar as sobreposições de IntPtr.ToString() e UIntPtr.ToString() de ToString().

APIs afetadas

Não detetável através da análise API.