如何按价值对词典进行排序?

如何按价值对词典进行排序?

我经常得按价值对一本字典进行排序,其中包括键和值。例如,我有一个杂凑词和相应的频率,我想按频率排序。

有一个SortedList这对单个值(比如频率)很好,我想把它映射回单词。

“排序词典”按键订购,而不是按价值排序。求助于.自定义类但是有更干净的方法吗?


翻阅古今
浏览 440回答 3
3回答

Helenr

用途:using&nbsp;System.Linq.Enumerable;...List<KeyValuePair<string,&nbsp;string>>&nbsp;myList&nbsp;=&nbsp;aDictionary.ToList();myList.Sort( &nbsp;&nbsp;&nbsp;&nbsp;delegate(KeyValuePair<string,&nbsp;string>&nbsp;pair1, &nbsp;&nbsp;&nbsp;&nbsp;KeyValuePair<string,&nbsp;string>&nbsp;pair2) &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;pair1.Value.CompareTo(pair2.Value); &nbsp;&nbsp;&nbsp;&nbsp;});由于您的目标是.NET 2.0或更高版本,所以可以将其简化为lambda语法-这是等价的,但更短。如果以.NET 2.0为目标,则只有在使用VisualStudio 2008(或更高版本)的编译器时,才能使用此语法。var&nbsp;myList&nbsp;=&nbsp;aDictionary.ToList();myList.Sort((pair1,pair2)&nbsp;=>&nbsp;pair1.Value.CompareTo(pair2.Value));
打开App,查看更多内容
随时随地看视频慕课网APP