我有一个整数列表List<int> iFaciltyReqId = new List<int>();,它的元素是

我需要对下面的哈希表进行排序,就像上面的列表(如果元素不存在,需要排除)
我的哈希表是

结果应为可共享密钥,顺序为1153 1168 1155 1152 1176 676
我尝试了如下,但结果并不符合我的期望
foreach (var c in iFaciltyReqId)
{
foreach (var d in ohmItemSeqs.Keys)
{
if (Convert.ToInt32(c) == Convert.ToInt32(d))
{
sortedohmItemSeqs.Add(c, ohmItemSeqs.Values);
}
}
}结果是

任何帮助都将不胜感激。
发布于 2018-05-17 13:18:21
我建议您简单地获取列表并返回哈希表中的所有内容,如下所示:
var result = yourList.Where(i => yourHashTable.Contains(i)); // works for both HashSet<int> and Hashtable发布于 2018-05-17 13:27:11
Hashtable本质上是一种无序数据结构,因此如果维护顺序很重要,您将需要考虑其他选择。
如果您希望通过插入来确定顺序,OrderedDictionary可能是一个合适的选项,尽管这取决于您对对象的其他需求。
https://stackoverflow.com/questions/50383726
复制相似问题