请教下 hashmap怎么使用?

unhappyless_23 2007-08-19 10:45:32
是键值对吗?不允许一对多?可以通过键找值,反过来呢?这容器里的对象不要求同一类型吧?给他添加一个元素不一定要 Add 吧?直接给个索引赋值就行了吧?


using System;
using System.Collections;
class IndexClass
{

Hashtable aa = new Hashtable();

public string this[int index]
{
get
{

return aa[index].ToString();
}
set
{

//aa[index] = value; //直接赋值
aa.Add(index, value);
}
}

public int this[ string index]
{
get
{
return (int)aa[index];
}
set
{
// aa[index] = value;
aa.Add(index, value);

}
}
}

class Test_3
{
static void Main()
{
IndexClass ic = new IndexClass();

ic["1"] = 2;
ic[3] = "1";
Console.WriteLine(ic["1"]);
Console.WriteLine(ic[3]);
}
}
...全文
910 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
unhappyless_23 2007-08-21
  • 打赏
  • 举报
回复
up
unhappyless_23 2007-08-20
  • 打赏
  • 举报
回复
为什么可以直接赋值 aa[index] = value;

可以不用 aa.Add(index, value);
Avoid 2007-08-19
  • 打赏
  • 举报
回复
看看数据结构就明白了
unhappyless_23 2007-08-19
  • 打赏
  • 举报
回复
5.6 两问题,

上面代码直接赋值就没问题,把注释的还原就可以了。
ice_frank 2007-08-19
  • 打赏
  • 举报
回复
1.是键值;
2.不允许;
3.可以通过键找值,反过来不行;
4.不要求同一类型,如果用泛型的话,就要同一类型;
5.一定要 Add;
6.不行
unhappyless_23 2007-08-19
  • 打赏
  • 举报
回复
拜托,看什么数据结构?

我想看源码,很怀疑是不是有什么机制转换的。 F11 看不了。

为什么可以直接赋值 aa[index] = value;可以不用 aa.Add(index, value);

110,566

社区成员

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

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

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