DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ArrayListからbyte配列へ

分類:[.NET]

ArrayListに登録した
文字列をbyte配列にしたいのですが
このようにやると最後に登録した
文字列しかbyte配列に代入されていません
ArrayListに登録した文字列をすべて
byte配列に書き込みたいのですがどうしたらいいでしょうか?

//マップの書き込み処理
public void MapWrite(string file_name)
{
using (FileStream write = new FileStream(file_name,
FileMode.Create, // 上書き
FileAccess.Write))
{

String aa = "あいうえお";
String bb = "かきくけこ";

ArrayList array = new ArrayList();
array.Add(aa);
array.Add(bb);

foreach (String a in array)
{
mapdata = Encoding.GetEncoding(932).GetBytes(a);
}

write.Write(mapdata, 0, mapdata.Length);

//書き込み終了
write.Close();
}
}
  • 題名: Re[1]: ArrayListからbyte配列へ
  • 著者: eternia
  • 日時: 2006/08/04 17:18:28
  • ID: 16993
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示

>foreach (String a in array)
>{
> mapdata = Encoding.GetEncoding(932).GetBytes(a);
>}

ループの度に上書きされているだけでは?
文字列を全て連結してからByteに変換でいけるかと。

String b = "";

foreach (String a in array)
{
b += a;
}

mapdata = Encoding.GetEncoding(932).GetBytes(b);

#とゆうより以前の投稿とほぼ変わらないのだからそちらに返答すべきかと。
#今回の答えも書いてありますし。
■No16992に返信(mimiさんの記事)
> ArrayListに登録した
> 文字列をbyte配列にしたいのですが
> このようにやると最後に登録した
> 文字列しかbyte配列に代入されていません
> ArrayListに登録した文字列をすべて
> byte配列に書き込みたいのですがどうしたらいいでしょうか?
↑の仕様だと、単純にByte配列表現にするだけ

↓のコードだと、ファイルに書き出している
> //マップの書き込み処理
> public void MapWrite(string file_name)
> {
> using (FileStream write = new FileStream(file_name,
> FileMode.Create, // 上書き
> FileAccess.Write))
> {
>
> String aa = "あいうえお";
> String bb = "かきくけこ";
>
> ArrayList array = new ArrayList();
> array.Add(aa);
> array.Add(bb);
>
> foreach (String a in array)
> {
> mapdata = Encoding.GetEncoding(932).GetBytes(a);
> }
>
> write.Write(mapdata, 0, mapdata.Length);
>
> //書き込み終了
> write.Close();
> }
> }

以上微妙な突っ込みでした
丁寧な説明ありがとうございました
文字列を連携すればいいんですね
ありがとうございます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板