c# Hashtableテーブルの構造化

タグの編集
投稿者 ケンケン  (社会人) 投稿日時 2024/5/16 09:04:37
C#
  Hashtableテーブル
kye  ReasonID  理由IDの値   
value  hashtable
key  value
ReasonID      理由IDの値
ReasonNa     理由名称の値
Amount    値引額の値

   hashtableの値(value)の部分をhashtable化にしたいのですか
   サンプルコードもお願いします。 
   何方か分かる方ご教授お願いします。
      
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2024/5/16 10:00:47
新規開発で System.Collections.Hashtable を使うことは推奨されていません。
代わりに System.Collections.Generic.Dictionary<TKey, TValue> への置き換えが強く推奨されます。
https://learn.microsoft.com/ja-jp/dotnet/api/system.collections.hashtable?view=net-8.0#remarks

> hashtableの値(value)の部分をhashtable化にしたいのですか
質問の内容が良く分からないのですが、イメージ的にはこういうことでしょうか。

hashtable1.Add("ID1"new dynamic[] { "理由1", 1000M });
hashtable1.Add("ID2"new dynamic[] { "理由2", 800M });
hashtable2.Add("Value1", hashtable1);
投稿者 ケンケン  (社会人) 投稿日時 2024/5/16 10:32:27
ハッシュテーブルにキー(key)と値(value)有ります。
値の部分をハッシュテーブルの入れ子にしたいです。 

key    ReasonID
value  hashtable        ← この部分をハッシュテーブル化にしたい。
   key             value  
         ReasonID    1
         ReasonNa    割引 
   Amount   100     ←(100円割引)  

   日本語の表現が分かりにくくてすみませんです。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2024/5/16 13:03:06
ん?ですから先ほど、そのためのコードを書いたつもりなんですが…。

var hashtable = new Hashtable { ["value"] = new Hashtable {
    { "ReasonID", 1 },
    { "ReasonNa""割引" },
    { "Amount", 100 },
}};
投稿者 ケンケン  (社会人) 投稿日時 2024/5/16 15:09:16
hashtable1.Add("ID1", new dynamic[] { "理由1", 1000M });
hashtable1.Add("ID2", new dynamic[] { "理由2", 800M });
hashtable2.Add("Value1", hashtable1);

 上記のイメージでした。
 すみません。