我有一个struct abc
,我想将字节复制到struct变量中。与C / C ++中的memcpy类似。
我通过套接字接收字节,它们是相同struct abc
变量的字节。
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct abc
{
public int a;
public int b;
public float c;
public char[] d; //30 size
}
答案 0 :(得分:0)
您可以将字节数组转换为您的结构,如下所示:
int size = Marshal.SizeOf(typeof(abc));
IntPtr ptr = Marshal.AllocHGlobal(size);
Marshal.Copy(arr, 0, ptr, size);
var struct = (abc)Marshal.PtrToStructure(ptr, typeof(abc));
Marshal.FreeHGlobal(ptr);
struct现在是您转换后的结构。请记住已经对此做出的评论(即字节排序)