首页 > Windows开发 > 详细

[C#] 如何把void*转换为byte[]

时间:2015-01-27 18:25:11      阅读:428      评论:0      收藏:0      [点我收藏+]

一般来说,C#库的对外接口应该提供byte[]这样比较容易用的接口,而不应该提供裸的void*

但是有些库确实是这么封装的。那么就有一个如何转换的问题。MSDN推荐的转换方式是使用UnmanagedMemoryStream。代码如下:


byte[] data = null;
unsafe
{
	int iLen;
	void* lpdata;

	data = new byte[iLen];
	using (UnmanagedMemoryStream ms = new UnmanagedMemoryStream((byte*)lpdata, iLen))
	{
		ms.Read(data, 0, data.Length);
	}
}


[C#] 如何把void*转换为byte[]

原文:http://blog.csdn.net/wwwsq/article/details/43197187

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!