配列やArrayListにHashtableを追加するには

タグの編集
投稿者 Line  () 投稿日時 2008/8/6 06:42:00
はじめまして、Lineと申します。 
 
VB 2008 Express Edition を使っていますが、 
わからないことがあれば、よく Visual Basic 中学校を参考にしています。 
とてもありがたいです。 
 
早速本題に入りますが、 
どうすれば配列やArrayList( List (Of T) )にHashtableを入れたり、 
HashtableにHashtableを追加することができるのでしょうか? 
何度か試してみてはいるのですが、ちゃんと追加されていないみたいです。 
 
どなたか知っている方、お教えください。
投稿者 魔界の仮面弁士  () 投稿日時 2008/8/6 18:40:00
> 何度か試してみてはいるのですが、ちゃんと追加されていないみたいです。  
 
現状の「期待動作しないコード」を実際に提示した方が 
アドバイスが得やすいかと思いますよ。
投稿者 よねKEN  () 投稿日時 2008/8/6 18:50:00
> 何度か試してみてはいるのですが、ちゃんと追加されていないみたいです。  
 
・どんなコードを試してみましたか? 
・ちゃんと追加されていない、ということはどのように確認しましたか? 
・配列やリストやHashtableにHashtable以外のオブジェクト(IntegerやStringなどの基本型以外で参照型のオブジェクト)を追加することはできますか? 
 
追加したいHashtableが10個ある場合、 
10個分Newでインスタンスを生成しているでしょうか。 
#インスタンスを理解できていない可能性が高そうな気がします。
投稿者 Line  () 投稿日時 2008/8/6 22:11:00
>>1 
>>2 
 
ご返答いただいてありがとうございます。 
答えてくださった方には申し訳ありませんが、何とか自力で解決しました。 
 
一応、検証プログラムを載せておきます。 
Dim TestArrayList As New ArrayList 
Dim TestHashtable As New Hashtable 
 
TestHashtable.Add("項目1", "内容1") 
TestHashtable.Add("項目2", "内容2") 
TestHashtable.Add("項目3", "内容3") 
 
TestArrayList.Add(TestHashtable) 
TestHashtable.Clear() 
 
原因は、「TestArrayList.Add(TestHashtable)」にあったみたいです。 
・・・.Add(TestHashtable) だと、TestHashtableがTestArrayListにリンクされるだけのようなので、 
・・・ .Add(TestHashtable.Clone) としたら、うまくできました。 
 
お騒がせして申し訳ございませんでした。
投稿者 Line  () 投稿日時 2008/8/6 22:43:00
>>1 
>>2 
 
ご返答いただいてありがとうございます。 
答えてくださった方には申し訳ありませんが、何とか自力で解決しました。 
 
一応、検証プログラムを載せておきます。 
Dim TestArrayList As New ArrayList 
Dim TestHashtable As New Hashtable 
 
TestHashtable.Add("項目1", "内容1") 
TestHashtable.Add("項目2", "内容2") 
TestHashtable.Add("項目3", "内容3") 
 
TestArrayList.Add(TestHashtable) 
TestHashtable.Clear() 
 
原因は、「TestArrayList.Add(TestHashtable)」にあったみたいです。 
・・・.Add(TestHashtable) だと、TestHashtableがTestArrayListにリンクされるだけのようなので、 
・・・ .Add(TestHashtable.Clone) としたら、うまくできました。 
 
お騒がせして申し訳ございませんでした。