我的目标是将字节数组转换为C# struct ,然后再转换回来.假设我从外部来源收到以下数据:
byte[] bytes = {
0x10, 0x00,
0x01, 0x00, 0x01, 0x00
};
我知道前两个字节表示"ushort"值,接下来4个字节表示"uint".字节按"高端"顺序排列.为了保存解码结果,我声明以下 struct :
struct Envelop
{
public ushort Value1;
public uint Value2;
}
现在我想创建一个"Envelop"的实例,并根据数据填充它.有没有标准的功能呢?
Envelop data = SomeStandardFunctionality<Envelop>(bytes);
Console.WriteLine(data.Value1); // 16
Console.WriteLine(data.Value2); // 257
我还需要将此 struct 转换回数组的可能性,该数组应该与初始 struct 完全相同.我相信这两个任务都是C#中相同功能的一部分.