从byte*转换为byte[]的方法如下:
以下是一个示例代码:
using System;
using System.Runtime.InteropServices;
class Program
{
static void Main()
{
int length = 10;
byte* bytePtr = (byte*)Marshal.AllocHGlobal(length);
for (int i = 0; i< length; i++)
{
bytePtr[i] = (byte)i;
}
byte[] byteArray = new byte[length];
Marshal.Copy((IntPtr)bytePtr, byteArray, 0, length);
for (int i = 0; i< length; i++)
{
Console.WriteLine(byteArray[i]);
}
Marshal.FreeHGlobal((IntPtr)bytePtr);
}
}
在这个示例中,我们首先创建了一个长度为10的byte指针,并将其初始化为0到9。然后,我们创建了一个长度为10的byte[]数组,并使用Marshal.Copy()方法将byte指针的内容复制到byte[]数组中。最后,我们打印出byte[]数组中的内容。
领取专属 10元无门槛券
手把手带您无忧上云