Оператор alpha.OrderByDescending(x => x.Value);
не имеет никакого эффекта ... Операторы Linq ленивы, они не выполняются, пока вы не перечислите их результат.Поскольку вы не используете результат OrderByDescending
, он просто создает ленивую последовательность, которая будет давать элементы alpha
, отсортированные по значению, , если вы перечислили его.. OrderByDescending
не сортирует коллекцию, она просто возвращает отсортированную последовательность элементов из коллекции, не изменяя саму коллекцию.
Вы должны сделать это так:
foreach (var a in alpha.OrderByDescending(x => x.Value))
A.Add(a.Key + ":" + a.Value);