Как добавить ключи в хеш-таблицу из списка в том же порядке в C # - PullRequest
0 голосов
/ 17 мая 2018

У меня есть список целых чисел List<int> iFaciltyReqId = new List<int>(); и его элементы enter image description here

Мне нужно заказать хеш-таблицу ниже, как в приведенном выше списке (нужно исключить, если элемент не существует)

Моя хеш-таблица enter image description here

Результат должен иметь хастабильные ключи в порядке 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);
                    }
                }
            }

и результат составил enter image description here Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

A Hashtable по сути является неупорядоченной структурой данных, поэтому вам следует рассмотреть альтернативные варианты, если важно поддерживать порядок.

Если вы хотите, чтобы порядок определялся путем вставки, OrderedDictionary может быть подходящим вариантом, хотя это зависит от ваших других потребностей в объекте.

0 голосов
/ 17 мая 2018

Я бы посоветовал вам просто взять свой список и вернуть все, что также есть в хеш-таблице, например:

var result = yourList.Where(i => yourHashTable.Contains(i)); // works for both HashSet<int> and Hashtable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...