私は、プログラムの周りにネットワークメッセージを渡すために、(LayoutKind.Explicit属性を使って)擬似共用体としてC#構造体を使用しています。私はプリミティブ型でレイアウトを使う方法を理解しています。なぜなら、それはサイズが分かっているからです。配列を含む構造体のサイズ
ただし、フィールドの1つを文字配列にするとどうすればよいですか?私は、charがデータの2バイト(Unicode形式の場合)ですが、char []の大きさはどれくらいか分かりますか?これは参照型であると信じて正しいですから、そのサイズは単なるアイテム数* 2ではありませんか?
どうすればこの構造体をレイアウトできますか?それも可能ですか?
ありがとう、私の考えを確認しました。参照サイズはコンパイルされた設定に依存しますが、実行されるシステムではありません。したがって、64ビットOS上で実行されている場合でも、32ビットアセンブリには4バイトの参照サイズがありますか? – Venatu
@Venatuランタイム、コンパイル時ではありません。したがって、OSに依存します。 –