从byte*转换为byte []

Rob*_*ert 4 c#

如何将指针转换为字节数组?

第一个字节表示要遵循的字节数.

Eri*_*ert 7

安全的做法是制作指向数据的副本.

如果你有一个字节*那么你当然可以自己编写代码:

byte* source = whatever;
int size = source[0]; // first byte is size;
byte[] target = new byte[size];
for (int i = 0; i < size; ++i)
    target[i] = source[i+1];
Run Code Online (Sandbox Code Playgroud)

十分简单.

如果你有一个IntPtr而不是一个字节*,那么你可以使用这个有用的方法:

http://msdn.microsoft.com/en-us/library/ms146631.aspx

Marshal类有很多有用的方法.