首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在C#中以相同顺序将列表中的键添加到哈希表

如何在C#中以相同顺序将列表中的键添加到哈希表
EN

Stack Overflow用户
提问于 2018-05-17 13:10:31
回答 2查看 68关注 0票数 2

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

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

我的哈希表是

结果应为可共享密钥,顺序为1153 1168 1155 1152 1176 676

我尝试了如下,但结果并不符合我的期望

代码语言:javascript
运行
复制
foreach (var c in iFaciltyReqId)
            {

                foreach (var d in ohmItemSeqs.Keys)
                {
                    if (Convert.ToInt32(c) == Convert.ToInt32(d))
                    {
                        sortedohmItemSeqs.Add(c, ohmItemSeqs.Values);
                    }
                }
            }

结果是

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2018-05-17 13:18:21

我建议您简单地获取列表并返回哈希表中的所有内容,如下所示:

代码语言:javascript
运行
复制
var result = yourList.Where(i => yourHashTable.Contains(i)); // works for both HashSet<int> and Hashtable
票数 2
EN

Stack Overflow用户

发布于 2018-05-17 13:27:11

Hashtable本质上是一种无序数据结构,因此如果维护顺序很重要,您将需要考虑其他选择。

如果您希望通过插入来确定顺序,OrderedDictionary可能是一个合适的选项,尽管这取决于您对对象的其他需求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50383726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档