私は価値の構造体の型のSystem.Array
、このようなものがあります:値構造体の配列をバイトに変換するには?
public value struct Position
{
int timestamp;
float x;
float y;
}
Position[] positions = new Position[1000 * 1000];
私は値で配列を初期化した後、どのように私は、一度に1つのアイテムをシリアル化せずに、それのコンテンツのbyte[]
を得ることができますか?
私はpin_ptr
を使用して配列の内容へのポインタを取得し、そこからデータをコピーします。 C#でこれを行うことはできますか?
EDIT:シリアルデータなしで、C構造体のように、生データをディスクに書き込む必要があります。
この質問にC#として広範な露出を付けましたが、IronPythonからデータをシリアル化しようとしています。つまり、unsafe
C#の機能は使用できません。
Convert.GetBytes()は動作しませんか? – Default
重複:http://stackoverflow.com/questions/1068541/how-to-convert-a-value-type-to-byte-in-c – Kugel
@Default:もしあなたが 'BitConverter.GetBytes'を指しているなら、いいえ、それは動作しません。内部で1バイトの 'byte []'を返します – Meh