Bagikan melalui


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

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.