IntPtr 和 UIntPtr 实现 IFormattable
IntPtr 和 UIntPtr 现在实现 IFormattable。 检查 IFormattable 支持的功能现在可能返回这些类型的不同结果,因为它们可能以格式说明符和区域性的形式传递。
更改描述
在早期版本的 .NET 中,IntPtr 和 UIntPtr 不实现 IFormattable。 检查 IFormattable 的函数可回退到仅调用 IntPtr.ToString 或 UIntPtr.ToString,这意味着不会遵循格式说明符和区域性。
在 .NET 5 及更高版本中,IntPtr 和 UIntPtr 实现 IFormattable。 检查 IFormattable 支持的功能现在可能返回这些类型的不同结果,因为它们可能以格式说明符和区域性的形式传递。
此更改会影响内插字符串和 Console.WriteLine 等方案。
更改原因
IntPtr 和 UIntPtr 现在通过 nint
和 nuint
关键字获得 C# 语言支持。 更新了后备类型,以通过其他基元类型(例如 System.Int32)公开的功能提供接近奇偶校验(如果可能)。
引入的版本
5.0
建议操作
如果不希望在显示这些类型的值时使用格式说明符或自定义区域性,则可以调用 ToString()
的 IntPtr.ToString() 和 UIntPtr.ToString() 重载。
受影响的 API
无法通过 API 分析检测到。