C# unsafe value type array to byte array conversions

后端 未结 7 793
梦毁少年i
梦毁少年i 2020-11-30 08:20

I use an extension method to convert float arrays into byte arrays:

public static unsafe byte[] ToByteArray(this float[] floatArray, int count)
{
    int arr         


        
7条回答
  •  粉色の甜心
    2020-11-30 08:46

        public byte[] ToByteArray(object o)
        {
            int size = Marshal.SizeOf(o);
            byte[] buffer = new byte[size];
            IntPtr p = Marshal.AllocHGlobal(size);
            try
            {
                Marshal.StructureToPtr(o, p, false);
                Marshal.Copy(p, buffer, 0, size);
            }
            finally
            {
                Marshal.FreeHGlobal(p);
            }
            return buffer;
        }
    

    this may help you to convert an object to a byte array.

提交回复
热议问题