タイトル : Re: byte型として構造体のデータを扱いたい 投稿日 : 2010/01/20(Wed) 21:38 投稿者 : Hongliang
基本的に自分で各プロパティごとに変換していくことになります。 Integer なら BitConverter.GetBytes(ただしエンディアン固定なので注意)。 String なら Encoding.GetBytes が使えるでしょう。 末尾に NULL 文字が必要かとか、エンコーディングはどうするのかと言った問題はあります。 これらで取得したバイト配列の結合は、両者の長さを合計した配列を新しく作り、 それぞれ適切な位置にコピーするようにするのが分かりやすいでしょう。 VB の Dim や ReDim で配列を確保する際の添え字は「配列の最大インデックス」です。 配列は 0 からインデックスを持つため、Dim a(1) As Integer とした場合、 要素数は 2 になることに注意してください。(a(0) と a(1) の 2 要素です) > wk_msg.size = 5 + 8 '5文字+integer > wk_msg.moji = "abcdef" abcdef は 6 文字ですし、Integer は通常 4 bytes です。 この 5 や 8 はどこから出てきたのでしょうか……? > ReDim send_msg(8) > のときにwk_msg.sizeをいれるにはどうのようにすればいいのでしょうか 先に String の方を Bytes に変換し、 それの Length + 4 を BitConverter で変換するようにすればいいんじゃないでしょうか? そもそもユーザには size を見せる(プロパティにする)必要はなく、 送受信時のみ size を計算するだけで良さそうですけど。 |