- ベストアンサー
Generic.Listに1次元配列の配列を格納する方法
- VB2005で、Generic.Listに1次元配列の配列を格納する方法について質問です。
- (a)には1次元配列の配列を初期値として設定し、(b)のGeneric.Listに格納したいです。
- 現在はArrayListの場合はDim ghoge As New ArrayList(hoge)で格納できるが、Generic.Listの場合はどのような構文にするべきでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでもできます。 List(Of String) のAddRangeを使えばいいと思います。 また、宣言は、Generic.List(Of String()) になります。 # Of Stringの後に() をつけます Dim hoge()() As String = _ {New String() {"a1", "b1", "c1"}, _ New String() {"a2", "b2", "c2"}, _ New String() {"a3", "b3", "c3"}} 'b) Dim ghoge As New Generic.List(Of String()) ghoge.AddRange(hoge) MessageBox.Show(ghoge(1)(1)) 'b2と表示される ご参考までに
その他の回答 (1)
- kero_mio
- ベストアンサー率90% (94/104)
とりあえず、AddRangeの存在をご理解頂けてよかったです。 ところで、 >あとは、AddRangeメソッドと似たような方法で、(a)を(b)の初期値として設定できれば最高。。 ですが、どんなイメージでしょうか? (すいません、イメージできなかったもので) もし最高のやり方があれば、調べてみたいので、補足頂けると 助かります。
補足
補足要求ありがとうございます。 ご質問の件ですが、kero_mioさんのご回答の以下二行を、一行にまとめられれば、と考えております。 >Dim ghoge As New Generic.List(Of String()) >ghoge.AddRange(hoge) ↓ '宣言と同行で値を設定したい Dim ghoge As New Generic.List(Of String()) ← ghoge.AddRange(hoge) ArrayListの場合、以下の形で一行で配列の配列を格納。 ------------------------------------------------ Dim hoge()() As string = _ {New string() {"a1", "b1", "c1"}, _ New string() {"a2", "b2", "c2"}, _ New string() {"a3", "b3", "c3"}} Dim ghoge As New ArrayList(hoge) '宣言と同行で値を設定 ------------------------------------------------ なにか良い方法がありましたら、ご助言よろしくお願い致します。
お礼
kero_mioさん ご指摘のAddRangeメソッドを使うと、質問内容のコードがずいぶんとすっきりしました!ありがとうございます! あとは、AddRangeメソッドと似たような方法で、(a)を(b)の初期値として設定できれば最高。。 ご回答ありがとうございました。