0

質問

論理的にマーシャリングされた数値フィールドだけを持つクラスがあります。

そして、これらのクラスと完全に一致する(バイトの順序は変数の順序である)いくつかのバイトを受け取ります。これらのバイトをこれらのクラスに割り当てたいと思います。

特定の Serialize メソッドをコーディングできますか?

例を示します。

Frame クラスと完全に一致する順次 byteArray があります。

-01-02-03-04-05-06.... Frame クラスのヘッダー フィールドの"a"変数値は0x01で、"b"変数値は0x02で、4 バイト ( c は Int32 です) 03-04-05 -06その後、val 変数で続行します。

public class Frame
{
    public FrameHeader header;
    public FrameValue val;

}

public class FrameHeader
{
    public byte a;
    public byte b;
    public int c;
}

public class FrameValue
{
  public int x,y;
}
4

1 に答える 1

0

おそらく、byte[] を int に変換するこの例が役に立ちますか?

byte[] bytes = { 0x03, 0x04, 0x05, 0x06 };

// If the system architecture is little-endian (that is, little end first), reverse the byte array.
if (BitConverter.IsLittleEndian)
{
    Array.Reverse(bytes);
}

int i = BitConverter.ToInt32(bytes, 0);
Console.WriteLine("int: {0}", i);
于 2013-09-20T16:25:31.423 に答える