IntPtr 與 UIntPtr 現在實作 IFormattable。 檢查 IFormattable 支援的函式現在可能會傳回這些類型的不同結果,因為它們可能會傳入格式規範和文化特性。
變更描述
在舊版 .NET 中, IntPtr 且 UIntPtr 不會實作 IFormattable。 可能檢查 IFormattable 的函式會退回到只呼叫 IntPtr.ToString 或 UIntPtr.ToString,這表示格式規範和文化特性可能不會被遵循。
在 .NET 5 和更新版本中, IntPtr 並 UIntPtr 實作 IFormattable。 檢查 IFormattable 支援的函式現在可能會傳回這些類型的不同結果,因為它們可能會傳入格式規範和文化特性。
這項變更會影響插補字串和 Console.WriteLine等案例。
變更的原因
IntPtr和UIntPtr現在在 C# 中透過nint
和nuint
關鍵詞提供語言支持。 支援類型已更新,以提供接近的匹配(在可能的情況下)與其他原始類型所揭露的功能,例如 System.Int32。
推出的版本
5.0
建議的動作
如果您不希望在顯示這些類型的值時使用格式指定或自訂文化,您可以呼叫 IntPtr.ToString() 和 UIntPtr.ToString() 的 ToString()
多載。
受影響的 API
無法透過 API 分析偵測。