C#中IntPtr

摘要:
2.资源的大小取决于使用的硬件和操作系统,即此类型的实例在32位硬件和操作系统中将是32位,在64位硬件和操作系统中将是64位;但其大小总是足以包含系统的指针。
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);

免责声明:文章转载自《C#中IntPtr》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇springboot 默认异常处理结合AndServer,实现抖音X-Gorgon算法,设备id生成接口下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

IO操作

IO流 1.IO用来处理设备之间的数据传输2.Java对数据的操作通过流的方式3.Java用于操作流的对象都在IO中4.流操作数据分两种,字节流和字符流5.流按流向可以分为:输入流和输出流 IO流常用基类 字节流的抽象基类InputStream OutputStream 字符流的抽象基类Reader Writer 注:由这四个派生出来额子类名称都是以其父类...

thinkphp获取ip地址及位置信息

ThinkPHPCommonfuncitons.php下有一个get_client_ip()能够获取ip地址 但是有时候不够准确 找到了下面一段来 function get_client_ip($type = 0) { $type = $type ? 1 : 0; static $ip = NUL...

实现客户端程序自动更新使用FTP

 最近做的一个项目中需要用到客户端自动更新功能,最初的想法是利用ClickOnce技术来完成,但在实践中发现根本行不能,原因如下: 1)项目应用到了DevExpress控件包,用ClickOnce发布的自动更新程序,客户在安装时报在GAC中找不到控件dll的错。 2)ClickOnce安装无法实现根据用户安装时录入的参数(比如数据库服务器名、数据库用户名...

AOP+自定义注解实现全局参数校验

AOP+自定义注解实现全局参数校验 在开发过程中,用户传递的数据不一定合法,虽然可以通过前端进行一些校验,但是为了确保程序的安全性,保证数据的合法,在后台进行数据校验也是十分必要的。 后台的参数校验 在controller方法中校验: 后台的参数是通过controller方法获取的,所以最简单的参数校验的方法,就是在controller方法中进行参数校验。...

Recordset属性与方法

Recordset属性与方法 关于分页:   首先,我们可以为 PageSize 属性设置一个值,从而指定从记录组中取出的构成一个页的行数;然后通过RecordCount 属性来确定记录的总数;再用记录总数除以 PageSize 就可得到所显示的页面总数;最后通过 AbsolutePage 属性就能完成对指定页的访问    ----------------...

关于mybatis使用foreach插入速度较慢的问题

使用mybatis批量插入,看了这篇博客 https://blog.csdn.net/m0_37981235/article/details/79131493 我这种懒货懒得想其中原因,直接上手第三种! 结果测试多次,发现我插入8000条数据,第一种方式只需要30秒不到,可是第三种方法却需要一分多钟。 不知道原作者是怎么实现的,可能和插入数据的多少有关,...