首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从byte*转换为byte []

从byte*转换为byte[]的方法如下:

  1. 首先,确定byte*的长度。
  2. 然后,创建一个新的byte[]数组,长度为byte*的长度。
  3. 使用Marshal.Copy()方法将byte*转换为byte[]数组。

以下是一个示例代码:

代码语言:csharp
复制
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[]数组中的内容。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券