配列やArrayListにHashtableを追加するには への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 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) としたら、うまくできました。 
 
お騒がせして申し訳ございませんでした。
投稿者 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) としたら、うまくできました。 
 
お騒がせして申し訳ございませんでした。
投稿者 よねKEN  () 投稿日時 2008/8/6 18:50:00
> 何度か試してみてはいるのですが、ちゃんと追加されていないみたいです。  
 
・どんなコードを試してみましたか? 
・ちゃんと追加されていない、ということはどのように確認しましたか? 
・配列やリストやHashtableにHashtable以外のオブジェクト(IntegerやStringなどの基本型以外で参照型のオブジェクト)を追加することはできますか? 
 
追加したいHashtableが10個ある場合、 
10個分Newでインスタンスを生成しているでしょうか。 
#インスタンスを理解できていない可能性が高そうな気がします。
投稿者 魔界の仮面弁士  () 投稿日時 2008/8/6 18:40:00
> 何度か試してみてはいるのですが、ちゃんと追加されていないみたいです。  
 
現状の「期待動作しないコード」を実際に提示した方が 
アドバイスが得やすいかと思いますよ。
投稿者 Line  () 投稿日時 2008/8/6 06:42:00
はじめまして、Lineと申します。 
 
VB 2008 Express Edition を使っていますが、 
わからないことがあれば、よく Visual Basic 中学校を参考にしています。 
とてもありがたいです。 
 
早速本題に入りますが、 
どうすれば配列やArrayList( List (Of T) )にHashtableを入れたり、 
HashtableにHashtableを追加することができるのでしょうか? 
何度か試してみてはいるのですが、ちゃんと追加されていないみたいです。 
 
どなたか知っている方、お教えください。