Функция моей программы - подсчет вхождения уникальных слов в документ, а затем отображение их в отсортированном порядке. Я сначала перебираю все слова и вводим их в словарь, и увеличиваю значение в словаре за сколько раз они встречались. Затем я конвертирую словарь в список и вызываю метод .Sort
с параметром IComparer
. В этом коде показаны здесь:IComparer не работает должным образом
List<KeyValuePair<string,long>> wordList = wordCount.ToList();
IComparer<KeyValuePair<string,long>> comparison = new comparator();
wordList.Sort(comparison);
и класс IComparer Я использую
public class comparator : IComparer<KeyValuePair<string, long>>
{
public int Compare(KeyValuePair<string, long> x, KeyValuePair<string, long> y)
{
if (x.Value > y.Value)
return 1;
else
return 0;
}
}
Однако, когда я закончил с сортировкой, список не упорядочен по значению KeyValuePair вроде как Я надеялся, что так будет. Что я здесь делаю неправильно?
Вам не хватает знака «минус» в вашем примере кода. – phoog
о человеке. Вот и все. Как-то в моем сознании я думал, что мне нужен только один случай. Спасибо за ответ. Я принимаю его в 10 мин. – tezromania