IntPtr dan UIntPtr menerapkan IFormattable
IntPtr dan UIntPtr sekarang terapkan IFormattable. Fungsi yang memeriksa IFormattable dukungan sekarang dapat mengembalikan hasil yang berbeda untuk jenis ini, karena dapat lulus dalam penentu format dan budaya.
Deskripsi perubahan
Dalam versi .NET sebelumnya, IntPtr dan UIntPtr jangan terapkan IFormattable. Fungsi yang memeriksa IFormattable dapat kembali hanya ke panggilan IntPtr.ToString atau UIntPtr.ToString, yang berarti bahwa penentu format dan budaya tidak dihormati.
Di .NET 5 dan versi yang lebih baru, IntPtr dan UIntPtr terapkan IFormattable. Fungsi yang memeriksa IFormattable dukungan sekarang dapat mengembalikan hasil yang berbeda untuk jenis ini, karena dapat lulus dalam penentu format dan budaya.
Perubahan ini berdampak pada skenario seperti string terinterpolasi dan Console.WriteLine, antara lain.
Alasan untuk berubah
IntPtr dan UIntPtr sekarang memiliki dukungan bahasa di C# melalui nint
kata kunci dan nuint
. Jenis dukungan diperbarui untuk memberikan paritas dekat (jika memungkinkan) dengan fungsionalitas yang diekspos oleh jenis primitif lainnya, seperti System.Int32.
Versi yang diperkenalkan
5.0
Tindakan yang direkomendasikan
Jika Anda tidak ingin penentu format atau budaya kustom digunakan saat menampilkan nilai jenis ini, Anda dapat memanggil IntPtr.ToString() dan UIntPtr.ToString() kelebihan beban ToString()
.
API yang Terpengaruh
Tidak terdeteksi melalui analisis API.