2011-10-28 25 views
0

多次元配列に値を代入する際に問題が発生しています。2列の多次元配列にデータを取り込むVB.net

私は、2列の無制限の行配列を作成し、データリーダーからデータを入力しようとしています。

私はJagged Arrayを使用すると、これを動作させることができます。 Reader部分はうまく動作しますが、この問題ではコーディングがクリーンではありません。

何か提案がありがとうございます。

ありがとうございました

答えて

2

配列の代わりにリストを使用してください。

Dim langs As New List(Of String())() 

While reader.Read() 
    Dim temp(1) As String 
    temp(0) = "tblLang" & reader.Item(0) 
    temp(1) = reader.Item(1) 

    langs.Add(temp) 
End While 

.Netでは、配列型とコレクション型が区別されます。配列型は固定サイズを意味するので、必要に応じて末尾に追加するとうまくいきません。コレクションはより柔軟性があることを意図しています。

それに関係なく、配列の最後にそれを代入すると、なぜ世界に追加されますか?あなたが望む最高のものは、配列全体を置き換えることです。

+0

これは実際にはwhileループにあったが、私は要素数が不明な配列しか構築していない。私はREDIM PRESERVEを使って配列を上書きしないようにしました。私はリストを試して、ここで意味があるかどうかを見てみましょう。ありがとう、 – htm11h

+0

ありがとうジョエル、これは動作するはずです。私は本当にここの助けに感謝します! – htm11h

+0

2次元配列が必要な場合は、それを信頼できるものにする必要があります。どうすればよいですか? – Behzad