- PR -

多次元配列のbyte配列をString型にしたい

投稿者投稿内容
まるく
大ベテラン
会議室デビュー日: 2004/01/09
投稿数: 181
投稿日時: 2007-10-29 18:01
引用:

Wingardさんの書き込み (2007-10-29 17:23) より:
すみません、調べてみたんですがよくわかりません。



何をどう調べて、どこが判らなかったのでしょうか?
Hongliangさんの提示してくださったリンクを読めば、ほとんど答えが書いてあります。
levin
会議室デビュー日: 2004/09/02
投稿数: 5
投稿日時: 2007-10-29 18:12
みなさまの回答は的を射ていて、これ以上の補足は必要ない状態まで来ていると思いますが。
今、Wingardさんが使用しようとしているのはジャグ配列と呼ばれている二次元配列(配列の配列)です。
 
byte[][] byteList = new byte[2][];
 
上記段階では配列の要素数(行数)を表しているだけで、実体はまだ確保されていません。
 
byteList[0] = new byte[1];
byteList[1] = new byte[2];
 
更に、このようにして行ごとに実体を割り当てる必要があります。
また、上記例のように行ごとに違うサイズを割り当てることも出来ます。
そのため、ジャグ配列と呼ばれています。
 
※ジャグ=ぎざぎざした
 
----------
追記:
 
当初の質問に回答しておきます。
 
>string test = sjisEnc.GetString(byteList[0]);
 
が、エラーになる件に関しては、エラーメッセージ通り。
 
string test = sjisEnc.GetString(byteList[0,0]);

などとしてやれば良いでしょう。
(ソースでは[0,0]には値が入ってないようなので、[0,1]などが良いのでしょうか

[ メッセージ編集済み 編集者: levin 編集日時 2007-10-29 19:43 ]
Wingard
大ベテラン
会議室デビュー日: 2004/10/04
投稿数: 168
お住まい・勤務地: 頭の中はファンタージェン
投稿日時: 2007-10-30 11:19
ご回答ありがとうございます。
ジャグ配列にする利点がよくわかりました。
なんとか理解できそうです。

ありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)