C#中的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