永发信息网

hashtable赋值的问题

答案:4  悬赏:60  手机版
解决时间 2021-11-22 02:49
  • 提问者网友:浮克旳回音
  • 2021-11-21 07:23
hashtable赋值的问题
最佳答案
  • 五星知识达人网友:你哪知我潦倒为你
  • 2021-11-21 07:56
Hashtable, 哈希表, (key, value), 一个元素里面存有两个东西, 一个key和一个value值, key是唯一的, 但value可以不唯一. key和value的类型可以是任何类型.

在给hashtable中的一个元素赋值时,value可以为空,但key一定不能为空.

ht1 = (Hashtable) ht2[key];

这个还真不知道... 你确定你能运行成功?

那除非是这么一种情况: ht2[key], 即这个key所对应的value值在存入的时候是Hashtable类型的. 别的类型如string, from之类的应该不能强转为hashtable了.
全部回答
  • 1楼网友:胯下狙击手
  • 2021-11-21 11:08
同意fancyivan的答案
Hashtable h1 = new Hashtable();
Hashtable h2 = new Hashtable();
Hashtable h3 = new Hashtable();
h3.Add(001,"abc");
例如这h1,h2,h3这三个hashtable,h3里面有一个键值对(001,"abc");
然后把h3这个hashtable添加到h2里面

h2.Add(001,h3);(或者h2[001]=h3;)
然后你这句h1=(hashtable)h2[001];就相当于把h3这个hashtable赋给了h1

当你遍历h1的时候结果就是(1,"abc")

hashtable是只有指定key才可以赋值,而你这句是相当与把一个hashtable赋给了另一个hashtable,所以不用指定key
  • 2楼网友:鱼芗
  • 2021-11-21 09:58
1 这个是给ht1赋值而不是给里面的某个键赋值,是个普通的赋值语句
2 也许你理解的难点是类型转换 ht2 这个hashtable的value是一个实现了Ilist,IEnumable的类,能转换成Hashtable

hashtable 是根据哈希算法来存储 键值对 数据的
  • 3楼网友:冷風如刀
  • 2021-11-21 09:14
Hashtable 是个可以装任何类型(object)的容器, ht2[key] 可能是Hashtable类型 也可能不是,ht1 = (Hashtable) ht2[key]; 这句是把ht2[key]转换成Hashtable类型再赋值给ht1 (ht1也为Hashtable)。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯