Sdílet prostřednictvím


Typy IntPtr a UIntPtr implementují rozhraní IFormattable

IntPtr a UIntPtr nyní implementovat IFormattable. Funkce, které kontrolují IFormattable podporu, teď můžou vracet různé výsledky pro tyto typy, protože mohou předat specifikátor formátu a jazykovou verzi.

Změna popisu

V předchozích verzích rozhraní .NET IntPtr a UIntPtr neimplementujte IFormattable. Funkce, které kontrolují IFormattable , se můžou vrátit k volání IntPtr.ToString nebo UIntPtr.ToString, což znamená, že specifikátory formátu a jazykové verze nejsou respektovány.

V .NET 5 a novějších verzích IntPtr a UIntPtr implementujte IFormattable. Funkce, které kontrolují IFormattable podporu, teď můžou vracet různé výsledky pro tyto typy, protože mohou předat specifikátor formátu a jazykovou verzi.

Tato změna má vliv na scénáře, jako jsou interpolované řetězce a Console.WriteLinemimo jiné.

Důvod změny

IntPtr a UIntPtr teď mají jazykovou podporu v jazyce C# prostřednictvím nint klíčových slov a nuint klíčových slov. Záložní typy byly aktualizovány tak, aby poskytovaly téměř paritu (kde je to možné) s funkcemi vystavenými jinými primitivními typy, například System.Int32.

Zavedená verze

5,0

Pokud nechcete, aby se při zobrazení hodnot těchto typů použil specifikátor formátu nebo vlastní jazyková verze, můžete volat IntPtr.ToString() a UIntPtr.ToString() přetížit ToString().

Ovlivněná rozhraní API

Nedetekovatelné prostřednictvím analýzy rozhraní API.