当前位置: 代码迷 >> C# >> [C#] 怎么把void*转换为byte[]
  详细解决方案

[C#] 怎么把void*转换为byte[]

热度:63   发布时间:2016-05-05 04:58:49.0
[C#] 如何把void*转换为byte[]

一般来说,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);	}}


  相关解决方案