Решения для словаря «уважения к порядку» - PullRequest
3 голосов
/ 19 августа 2010

Для Dictionary<,> «Порядок, в котором возвращаются элементы, не определен».

Я знаю, что есть SortedDictionary, но если я просто хочу словарь, который возвращает мне элементы в порядкеЯ положил их, что лучше всего сделать?

Я думаю, что я должен использовать List<KeyValuePair<,>> и преобразовать его в словарь, когда мне нужно выполнить поиск (в отличие от выполнения foreach в словаре).

Или я что-то упустил умнее?

Ответы [ 2 ]

4 голосов
/ 19 августа 2010

Существует неуниверсальный класс, который делает это: OrderedDictionary , но на данный момент нет универсальной версии.

2 голосов
/ 19 августа 2010

Получите свою собственную коллекцию с помощью словаря поддержки и списка, который вы синхронизируете.Всякий раз, когда элементы добавляются / удаляются, вы добавляете / удаляете их в список и словарь (то же самое с Clear ()).Обязательно проверяйте дубликаты ключей перед добавлением элементов в список

Это позволит вам реализовать другую пользовательскую логику, такую ​​как сортировка, уведомления об изменениях и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...