首页 新闻 会员 周边

怎样用索引器输出哈希表中的键和值

0
[已关闭问题]
<P>我们知道可以用索引器输出数组中的元素,但是我想用索引器输出其中的键和值怎么操作啊,</P> <P>例如哈希表的名字HS</P> <P>则使用索引器可以这样取得哈希表中的值</P> <P>public object this[object i]</P> <P>{</P> <P>&nbsp;get{&nbsp; </P> <P>&nbsp;&nbsp;&nbsp; return&nbsp;HS[i].value;&nbsp;</P> <P>}</P> <P>}</P>
海凡-沈的主页 海凡-沈 | 初学一级 | 园豆:200
提问于:2008-01-07 11:05
< >
分享
其他回答(4)
0
Hashtable类本身不是就提供了索引器吗?
Anders Cui | 园豆:1570 (小虾三级) | 2008-01-07 11:08
0
没明白! public class MyClass { private Hashtable _data = new Hashtable(); public object this[object key] { get { return this._data[key]; } } public void Foo() { foreach (DictionaryEntry entry in this._data) { Console.WriteLine(string.Format("Key: {0}; Value: {1}", entry.Key, entry.Value)); } } }
Colin Han | 园豆:3041 (老鸟四级) | 2008-01-07 13:10
0
楼上的,哪个不是索引器好不好! 充其量只是用来循环输出 hashtable因为其内容的机制,所以它不能根据索引来取值,因为它内部排序的机制,你可以试试,插入几个值后循环输出结果,而你再次插入一个新的key时,这里它里面的排序位置就会发现改变。。。,所以它没有提供索引器 如果要求不是很高的话就用list来做吧
没剑 | 园豆:430 (菜鸟二级) | 2008-01-07 17:19
0
估计你是要返回一个键值对结构吧。 public DictionaryEntry this[object key] { get{ DictionaryEntry entry = new DictionaryEntry(); entry.Key = key; entry.Value = HS[key].value return entry; } } 呵,比较奇怪的需求...
Klesh Wong | 园豆:780 (小虾三级) | 2008-01-08 12:36
0
楼主是想用 数字 索引 来显示 哈希表中的内容吗? 这个不是很好办, 比较简单的方法,你通过Key 数组来处理吧 指定一个Index, 查询Key,然后再用这个Key,搜索对应的Value 不过,要遍历数组,直接使用For each 就可以了
G yc {Son of VB.NET} | 园豆:2006 (老鸟四级) | 2008-01-09 13:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册