
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでの100万行以上のデータの...
-
エクセルで、絶対値の平均を算...
-
[エクセル]連続する指定範囲か...
-
Excelのセルの色指定をVBAから...
-
ExcelのINDEXとMATCH関数でスピ...
-
エクセルVBAで変数をセルに一行...
-
array関数で格納した配列の型を...
-
Split関数でLong配列に格納する...
-
Excel オートフィルタのリスト...
-
テキストファイルを配列に
-
読み込みで一行おきに配列に格納
-
【VBA】ユーザーフォーム リス...
-
仮想リストコントロールの表示
-
Dictionaryを使い4つの条件の一...
-
CSVファイルから文字列を読み込む
-
C#でFontStyleの列挙体に値を追...
-
iniファイルのキーと値を取得す...
-
VBAで指定期間の範囲を抽出し、...
-
ノーツのデータをVBScriptで取...
-
VBS 複数ファイル複数行を配列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで、絶対値の平均を算...
-
[エクセル]連続する指定範囲か...
-
表にフィルターをかけ、絞った...
-
ExcelのINDEXとMATCH関数でスピ...
-
Excelのセルの色指定をVBAから...
-
array関数で格納した配列の型を...
-
【VBA】ユーザーフォーム リス...
-
Excel オートフィルタのリスト...
-
配列がとびとびである場合の書き方
-
iniファイルのキーと値を取得す...
-
.NET - 配列変数を省略可能の引...
-
DataSetから、DataTableを取得...
-
読み込みで一行おきに配列に格納
-
エクセルでエラーを無視して一...
-
VBAでの100万行以上のデータの...
-
配列のSession格納、及び取得方...
-
Datatableへの代入
-
[VBA]改行入りのセルの値を配列...
-
SUMPRODUCT関数を用いた最小値
-
エクセル 条件を指定した標準...
おすすめ情報