通过使用 IntelliSense 并查看其他人的代码,我遇到了这种IntPtr类型;每次需要使用它时,我都会简单地放置null或IntPtr.Zero发现大多数功能都可以工作。它到底是什么以及何时/为什么使用它?
IntPtr
null
IntPtr.Zero
这是一个“本机(特定于平台)大小的整数”。它在内部表示为void*但公开为整数。您可以在需要存储非托管指针并且不想使用unsafe代码时使用它。IntPtr.Zero是有效NULL的(一个空指针)。
void*
unsafe
NULL