Как получить значения после сортировки словаря по значениям с помощью linq - PullRequest
0 голосов
/ 25 марта 2010

У меня есть словарь, который я отсортировал по значению с помощью linq, как я могу получить это отсортированное значение из отсортированного результата, который я получаю

это то, что я сделал до сих пор

Dictionary<char, int> lettersAcurr = new Dictionary<char, int>();//sort by int value
var sortedDict = (from entry in lettersAcurr orderby entry.Value descending select entry);

во время отладки я вижу, что sortedDic имеет KeyValuePar, но я не могу получить к нему доступ

спасибо за помощь

Ответы [ 3 ]

1 голос
/ 25 марта 2010

sortedDict равен IEnumerable<KeyValuePair<char, int>> итерирован

0 голосов
/ 25 марта 2010

Если вам нужны значения char, вы можете изменить запрос следующим образом:

var sortedDict = (from entry in lettersAcurr orderby entry.Value descending select entry.Key);

, который даст вам результат IEnumerable<char>

Если вы снова захотите добавить его в словарь, у вас может возникнуть искушение

var q = (from entry in lettersAcurr orderby entry.Value descending select entry.Key).ToDictionary(x => x);

, но помните, что словарь не будет отсортирован, поскольку Dictionary(Of T) не будет поддерживать отсортированный порядок.

0 голосов
/ 25 марта 2010

Просто переберите его.

foreach (var kv in sortedDict)
{
     var value = kv.Value;
     ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...