System.Object
System.ValueType
System.IntPtr
1.C#中的IntPtr類型被稱之為“平台特定的整數類型”,用於本機資源,例如窗口句柄。
2.資源的大小取決於使用的硬件和操作系統,即此類型的實例在32位硬件和操作系統中將是32位,在64位硬件和操作系統中將是64位;但其大小總是足以包含系統的指針(因此也可以包含資源的名稱)。
3.在調用API函數時,類似含有窗口句柄參數(HANDLE)的原型函數,應顯示地聲明為IntPtr類型。
4.IntPtr類型對多線程操作是安全的。
5. int 和IntPtr互轉
int i=1; IntPtr p=new IntPtr(i); int ch_i=(int) p;
6. IntPtr和string互轉
string str="a";
IntPtr p=Marshal.StringToHGlobalAnsi(str);
string s=Marshal.PtrToStringAnsi(p);
Marshal.FreeHGlobal(p);