VB.NETで通信制御プログラムを組んでいると、電文解析などが必要になります。電文はバイト配列で取得しますが、 その電文を分割して処理するにも、解析用の構造体を宣言しそちらにバイト配列からコピーできると便利です。
今回は、構造体に4個のバイト配列変数を持った簡単な構造を例にとります。以下の様な宣言になります。 各変数は「MarshalAs」を使って、固定サイズ長を宣言してやります。
バイト配列からこの構造体に変換する関数を以下に示します。
処理ボタンをフォームに貼り付けてテストしていますが、「x」で12個のデータを宣言していますが、 構造体の「X」には「&H40, &H41」の部分しか設定されませんが、残りには&H0が埋められます。
■関連記事
⇒VB.NET:マーシャリングを使用した、構造体からバイト配列へのコピー