Condividi tramite


IntPtr e UIntPtr implementano IFormattable

IntPtr e UIntPtr ora implementano IFormattable. Le funzioni che controllano il supporto IFormattable possono ora restituire risultati diversi per questi tipi, perché possono passare un specificatore di formato e una cultura.

Descrizione delle modifiche

Nelle versioni precedenti di .NET IntPtr e UIntPtr non implementano IFormattable. Le funzioni che verificano IFormattable possono limitarsi a chiamare IntPtr.ToString o UIntPtr.ToString, il che significa che gli identificatori di formato e le impostazioni di lingua e regione non vengono rispettati.

In .NET 5 e versioni successive, IntPtr e UIntPtr implementano IFormattable. Le funzioni che controllano il supporto IFormattable possono ora restituire risultati diversi per questi tipi, perché possono passare un specificatore di formato e una cultura.

Questa modifica influisce su scenari come stringhe interpolate e Console.WriteLine, tra gli altri.

Motivo della modifica

IntPtr e UIntPtr ora hanno il supporto del linguaggio in C# tramite le nint parole chiave e nuint . I tipi di supporto sono stati aggiornati per fornire una parità vicina (laddove possibile) con funzionalità offerte da altri tipi primitivi, ad esempio System.Int32.

Versione introdotta

5.0

Se non si desidera utilizzare un identificatore di formato o impostazioni cultura personalizzate durante la visualizzazione dei valori di questi tipi, è possibile chiamare gli overload di IntPtr.ToString() e di UIntPtr.ToString() di ToString().

Le API interessate

Non rilevabile tramite l'analisi api.