一个hashtable和arraylist的问题

rainsea_jyy 2006-12-05 03:28:57
Hashtable ht = new Hashtable();
ArrayList al = new ArrayList();
al.Add("1");
al.Add("2");
al.Add("3");
ht.Add(al[0],al); //将ArrayList 的第一个值作key,整个arraylist为value

//但是在我取值的时候
foreach (object k in ht.Keys)
{
Response.Write(ht[k][0].ToString());
}
结果报错:无法将带 [] 的索引应用于“object”类型的表达式
但ht[k]是个arraylist呵,我用ht[k].GetType(),也得到arraylist,

请问在何时怎么回事啊?如何解决?
...全文
131 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovvver 2006-12-05
  • 打赏
  • 举报
回复
你的写法有问题。
ht[k]不是ArrayList
-->
你的写法有问题。
ArrayList al = (ArrayList)ht[k];
al[0].ToString();
lovvver 2006-12-05
  • 打赏
  • 举报
回复
你的写法有问题。
ht[k]不是ArrayList
另外,你对Hashtable遍历的方法不好最好用IEnumerator接口的来遍历,如:
IEnumerator ienum = (IEnumerator)ht.GetEnumerator();
while(ienum.MoveNext())
{
ArrayList al = (ArrayList)ienum.Current.Value;
...
}
//直接用手工写,可能拼写有错误的地方,写的时候注意改正。
believefym 2006-12-05
  • 打赏
  • 举报
回复
那就分开来写,可能语法上没你想得智能

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧