我做了一个c# 与 c++ 通信的程序 为了方便 在c++ 端发送接收的都是结构体,在c#中要把byte[]转化成 结构体的 但是我的结构体中有 float 数组 请问如何初始化
unsafe public struct blk
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)] // 声明一个字符数组,大小为20
public char[] command;
public int generation;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)] // 声明一个字符数组,大小为20
public char[] blkname;
public float rate; public unsafe fixed float invalue[50];
public unsafe fixed float coefvalue[50];
public unsafe fixed float outvalue[50];
}
unsafe public struct blk
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)] // 声明一个字符数组,大小为20
public char[] command;
public int generation;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)] // 声明一个字符数组,大小为20
public char[] blkname;
public float rate; public unsafe fixed float invalue[50];
public unsafe fixed float coefvalue[50];
public unsafe fixed float outvalue[50];
}
{
this.invalue=s;
}
与类查不多