2009年4月9日木曜日

[.NET]配列のコピー

ある配列からある配列へデータをコピーする場合、同じ型であれば単に配列をループしながらコピーすればよいですが、型の異なる配列に値をコピーするのはちょっとメンドクサイ。のですが、簡単にコピーするインタフェースがあったので、使ってみました。コードはこんな感じ。

char[] aaa = { '1', '2', '3', 'あ' };
byte[] bbb = new byte[aaa.Length * 2];

//ある配列からある配列へコピー
Buffer.BlockCopy(aaa, 0, bbb, 0, bbb.Length);

String ccc = BitConverter.ToString(bbb);
// cccは「31-00-32-00-33-00-42-30」となる


尚、charの配列のばあい、コンピュータのエンディアンに依存するので、他の機種(OS)と連携する場合などに利用する場合は、注意が必要です。

0 件のコメント: