![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
VB2005の質問です。
変数ghogeにString型の1次元配列の配列を格納したいと考えています。
-----------------------------------------------
'a)
Dim hoge()() As string = _
{New string() {"a1", "b1", "c1"}, _
New string() {"a2", "b2", "c2"}, _
New string() {"a3", "b3", "c3"}}
Dim ghoge As New Generic.List(of ) 'b)
MessageBox.Show(ghoge(1)(1)) ' "b2"と表示したい
-----------------------------------------------
質問内容は、(a)を(b)の初期値として設定するにはどのようにすればよいか、ということです。
(b)がGeneric.ListでなくArrayListの場合だと、
Dim ghoge As New ArrayList(hoge)
でhoge配列を格納できますが、Generic.Listの場合はどのような構文にすればよいでしょうか。
現在は、下記のような処理でghogeに値を格納しています。
------------------------------------------------------------
Dim ghoge As New Generic.List(Of Generic.List(Of String))
Dim aryhoge1 As New Generic.List(Of String)(New String() {"a1", "b1", "c1"})
Dim aryhoge2 As New Generic.List(Of String)(New String() {"a2", "b2", "c2"})
gary_hoge.Add(ary_hoge1)
gary_hoge.Add(ary_hoge2)
MessageBox.Show(gary_hoge(1)(1)) ' "b2"と表示される
------------------------------------------------------------
どうぞよろしくお願い致します。
No.1ベストアンサー
- 回答日時:
こんな感じでもできます。
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と表示される
ご参考までに
kero_mioさん
ご指摘のAddRangeメソッドを使うと、質問内容のコードがずいぶんとすっきりしました!ありがとうございます!
あとは、AddRangeメソッドと似たような方法で、(a)を(b)の初期値として設定できれば最高。。
ご回答ありがとうございました。
No.2
- 回答日時:
とりあえず、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) '宣言と同行で値を設定
------------------------------------------------
なにか良い方法がありましたら、ご助言よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) Excel VBAについて、 フォルダ内のファイルを全て開きたい場合、 FSOを使えば、Dirは使わ 1 2023/01/27 13:18
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで指定期間の範囲を抽出し、...
-
読み込みで一行おきに配列に格納
-
C#でFontStyleの列挙体に値を追...
-
VB6.0 ファイルの一括読込み
-
エクセルの配列数式、配列定数...
-
Split関数でLong配列に格納する...
-
エクセル2007 VBA シート内のデ...
-
Excelのセルの色指定をVBAから...
-
array関数で格納した配列の型を...
-
表にフィルターをかけ、絞った...
-
VBA 配列に格納した値の平均の...
-
エクセルのマクロについて教え...
-
VBAでセルをクリックする回...
-
【Excel VBA】指定行以降をクリ...
-
VBA Shapesの座標からセル位置...
-
DataGridViewの各セル幅を自由...
-
結合したセルの高さを内容に合...
-
Excelのプルダウンで2列分の情...
-
エクセルマクロで結合セルに格...
-
エクセルVBAで、シート上で結合...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルの色指定をVBAから...
-
ExcelのINDEXとMATCH関数でスピ...
-
[エクセル]連続する指定範囲か...
-
array関数で格納した配列の型を...
-
表にフィルターをかけ、絞った...
-
エクセルで、絶対値の平均を算...
-
配列がとびとびである場合の書き方
-
[VBA]改行入りのセルの値を配列...
-
Excel オートフィルタのリスト...
-
DataSetから、DataTableを取得...
-
iniファイルのキーと値を取得す...
-
配列のSession格納、及び取得方...
-
エクセルでエラーを無視して一...
-
Dictionaryを使い4つの条件の一...
-
エクセル 条件を指定した標準...
-
読み込みで一行おきに配列に格納
-
For Nextマクロの高速化につい...
-
.NET - 配列変数を省略可能の引...
-
SUMPRODUCT関数を用いた最小値
-
VB6.0 ファイルの一括読込み
おすすめ情報