C#中IntPtr


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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM