Lưu ý, tôi không hoàn toàn chắc chắn câu hỏi này thuộc về trang web này nhưng tôi cố gắng xây dựng.
Tại sao mãIntPtr vào chuỗi hex trong chuỗi.Format
IntPtr ptr = new IntPtr(1234);
Console.WriteLine(string.Format("{0:X8}", ptr));
Console.WriteLine(ptr.ToString("X8"));
Console.WriteLine(string.Format("{0:X8}", ptr.ToInt32()));
đầu ra
1234
000004D2
000004D2
Tại sao không phải là hex áp dụng định dạng cho lập luận IntPtr
trực tiếp, khi được yêu cầu như vậy trong định dạng? Có bất kỳ đối số đã biết nào chống lại việc thiết kế chức năng như vậy -?
Nếu không có đối số nào chống lại thiết kế như vậy thì tôi nên báo cáo vấn đề này cho Microsoft ở đâu?
Cũng lưu ý rằng trình gỡ lỗi hiển thị giá trị IntPtr
trong hex nếu được yêu cầu.
Tôi thấy rằng đó là cách khá trực quan và tương đối thường xuyên để in ra các giá trị IntPtr
. Tôi cũng đã tìm thấy mã được viết bởi những người khác sử dụng dòng đầu tiên và rõ ràng là mong đợi kết quả hex, nhưng thực sự kết quả là khác nhau. Nó cũng mất một thời gian cho tôi để thông báo vấn đề, mà phức tạp sự hiểu biết các thông điệp tường trình.