关于HashTable中如何通过value取得key

jialianqing311 2013-10-01 10:57:33
各位大神,请教一下hashtable 的问题。假设我一个hashtable中key和value 的值分别如下:
aaa,bbb
ccc,bbb
www,eee
逗号前为key,逗号后为value,现在已知道value值为bbb。怎么样通过bbb获得对应的两个key值,结果放在一个数组中吗?
...全文
736 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jialianqing311 2013-10-05
  • 打赏
  • 举报
回复
引用 10 楼 Chinajiyong 的回复:
我觉得这种情况用Dictionary更合适
您好,怎么讲?
EnForGrass 2013-10-05
  • 打赏
  • 举报
回复
我觉得这种情况用Dictionary更合适
jialianqing311 2013-10-05
  • 打赏
  • 举报
回复
引用 8 楼 caozhy 的回复:
[quote=引用 7 楼 jialianqing311 的回复:] [quote=引用 4 楼 iamwangshao 的回复:] 看错了,那就应该这样: ht.OfType<DictionaryEntry>().ToList().Where(kv => kv.Value.ToString() == "bbb").Select(v => v.Key.ToString()).ToArray()
我用的是VS2005.没有Oftype这个方法哎[/quote] 2005只能傻循环了。 foreach (DictionaryEntry item in ht) { if (item.Value == xxx) return item.Key; }[/quote] 谢谢您,我试一下,我刚才又发表了个帖子,可不可以帮忙看一下,标题是“请假大家关于读文件的一个bug问题”
threenewbee 2013-10-05
  • 打赏
  • 举报
回复
引用 7 楼 jialianqing311 的回复:
[quote=引用 4 楼 iamwangshao 的回复:] 看错了,那就应该这样: ht.OfType<DictionaryEntry>().ToList().Where(kv => kv.Value.ToString() == "bbb").Select(v => v.Key.ToString()).ToArray()
我用的是VS2005.没有Oftype这个方法哎[/quote] 2005只能傻循环了。 foreach (DictionaryEntry item in ht) { if (item.Value == xxx) return item.Key; }
jialianqing311 2013-10-05
  • 打赏
  • 举报
回复
引用 4 楼 iamwangshao 的回复:
看错了,那就应该这样: ht.OfType<DictionaryEntry>().ToList().Where(kv => kv.Value.ToString() == "bbb").Select(v => v.Key.ToString()).ToArray()
我用的是VS2005.没有Oftype这个方法哎
threenewbee 2013-10-02
  • 打赏
  • 举报
回复
t.OfType<DictionaryEntry>().First(x => x.Value == xxx).Key;
小托尼 2013-10-02
  • 打赏
  • 举报
回复
看错了,那就应该这样: ht.OfType<DictionaryEntry>().ToList().Where(kv => kv.Value.ToString() == "bbb").Select(v => v.Key.ToString()).ToArray()
转你500次 2013-10-02
  • 打赏
  • 举报
回复
引用 2 楼 jialianqing311 的回复:
[quote=引用 1 楼 u012142399 的回复:] ht.Where(x => x.Value == "bbb").Select(x => x.Key).ToArray()
ht中并没有where这个方法哈[/quote] using System.Linq;
小托尼 2013-10-01
  • 打赏
  • 举报
回复
ht.OfType<DictionaryEntry>().ToList().Where(kv => kv.Value.ToString() == "bbb").Select(v => v.Key.ToString()).ElementAt(0)
顺便说一下Hashtable的Key不能重复
jialianqing311 2013-10-01
  • 打赏
  • 举报
回复
引用 1 楼 u012142399 的回复:
ht.Where(x => x.Value == "bbb").Select(x => x.Key).ToArray()
ht中并没有where这个方法哈
转你500次 2013-10-01
  • 打赏
  • 举报
回复
ht.Where(x => x.Value == "bbb").Select(x => x.Key).ToArray()

110,539

社区成员

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

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

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