кажется мне хорошо, но мой список по-прежнему не упорядочен по моему ключу.LINQ OrderBy не работает над ключом словаря
var tagNamesAndRoutes = new Dictionary<string, string>();
foreach (string name in tagNames)
{
tagNamesAndRoutes.Add(name, routeConstant);
}
Пример значений словаря:
Key Value
"NUnit" "/Category"
"WCF" "/Category"
"ReSharper" "/Category"
и так далее.
Я пытался уладить это с помощью типичной LINQ:
tagNamesAndRoutes.OrderBy(c => c.Key);
, но это не отсортировано по факту.
Пробовали ли вы SortedDictionary? –
Tzu
Вы использовали возвращаемое значение? OrderBy не имеет побочного эффекта. например var sortedTagNamesAndRoutes = tagNamesAndRoutes.OrderBy (c => c.Key); – user2588666
Протестировал ваш код, и он работает нормально. Вам нужно использовать то, что 'OrderBy' возвращает. Он не вносит изменений в оригинальный словарь. –