Сортировка ConcurrentDictionary по значению

Я могу отсортировать свой ConcurrentDictionary по значению следующим образом:

static ConcurrentDictionary<string, Proxy> Proxies = 
    new ConcurrentDictionary<string, Proxy>();

Proxies.OrderBy(p => p.Value.Speed);

И это здорово, за исключением того, что я хочу установить этот новый переупорядоченный список КАК словарь, эффективно сортировка самого словаря, а не просто получение списка результатов отсортированных элементов.

Я пытаюсь сделать что-то подобное, но мне не повезло - словарь все еще неупорядочен после:

Proxies = new ConcurrentDictionary<string,Proxy>(
    Proxies.OrderBy(p => p.Value.Speed));

Похоже, что это не влияет на словарь. Я также попытался преобразовать результат OrderBy в новую переменную, думая, что это может повлиять на делегата, но все равно не повезло.

Как мне изменить порядок этого ConcurrentDictionary, а затем принудительно изменить порядок словаря результат OrderBy?

12
задан svick 14 December 2012 в 20:59
поделиться