C#中的IntPtr
用于表示指针或句柄的平台特定类型
一般对于char* ,void*这种可以直接对应IntPtr
1.C#中的IntPtr类型被称之为“平台特定的整数类型”,用于本机资源,例如窗口句柄。
2.资源的大小取决于使用的硬件和操作系统,即此类型的实例在32位硬件和操作系统中将是32位,在64位硬件和操作系统中将是64位
;但其大小总是足以包含系统的指针(因此也可以包含资源的名称)。
3.在调用API函数时,类似含有窗口句柄参数(HANDLE)的原型函数,应显示地声明为IntPtr类型。
4.IntPtr类型对多线程操作是安全的。
参考文献
- https://www.cnblogs.com/nimorl/p/9829271.html
- https://blog.csdn.net/weixin_40327927/article/details/99685538
- https://blog.csdn.net/u011555996/article/details/70238177
- https://docs.microsoft.com/zh-cn/dotnet/api/system.intptr?view=net-5.0