使用该值从哈希表中查找

时间:2010-07-09 21:18:27

标签: c# linq

我有以下哈希表:

private Hashtable Sid2Pid = new Hashtable();

Sid2Pid.Add(1,10);
Sid2Pid.Add(2,20);
Sid2Pid.Add(3,20);
Sid2Pid.Add(4,30);

现在如何使用LinQ

从上面的哈希表中获取值为20的键列表

2 个答案:

答案 0 :(得分:4)

HashTableIEnumerable的{​​{1}},只需一点点转换就可以将其转换为LINQ运算符可以处理的内容:

DictionaryEntry

NB。如果你传递不同的类型,这将抛出异常。

答案 1 :(得分:4)

使用Dictionary<int, int>代替Hashtable(请参阅here了解原因),然后执行以下操作:

var keys = Sid2Pid.Where(kvp => kvp.Value == 20)
                  .Select(kvp => kvp.Key);