Сортировка только одного элемента KeyValuePair внутри списка

#c# #list

#c# #Список

Вопрос:

У меня есть следующая реализация

 public static List<KeyValuePair<int, double>> entries = new List<KeyValuePair<int, double>>();
entries.Add(new KeyValuePair<int, double>(j, min));              
 

Для некоторых математических вычислений я хочу сортировать только это min value , а не j key .
Как это можно сделать?
Спасибо.

РЕДАКТИРОВАТЬ: я использую переменные уровня класса, и я пробовал это неоднократно

 PSOLib.entries = PSOLib.entries.OrderBy(kvp => kvp.Value).ToList();
lineChart.DataContext = PSOLib.entries; 
 

и значения просто не сортируются. Куда я ввернул?

Комментарии:

1. entries.OrderBy(o => o.Value) ?

Ответ №1:

 entries = entries.OrderBy(kvp => kvp.Value).ToList();
 

Комментарии:

1. Я использую переменную уровня класса, PSOLib.entries = PSOLib.entries.OrderBy(kvp => kvp.Value).ToList(); lineChart.DataContext = PSOLib.entries; и простые значения не сортируются. я пробовал это.

2. Вы уверены, что линейная диаграмма не использует их? Если это сторонний элемент управления, он вполне может. Поставьте точку останова после установки записей и проверьте, были ли они отсортированы.

Ответ №2:

 entries.OrderBy(kvp => kvp.Value)
 

или

 entries.Sort((l, r) => l.Value.CompareTo(r.Value));