Sort List in Dictionary's Value
本问题已经有最佳答案,请猛点这里访问。
我在做作业,我定义以下字典
1 |
在哪里?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | public class fileInfo { public string fileFullName; public double tf; public double idf; public double tf_idf; public double cosineSim; public fileInfo() { fileFullName = null; tf = 0.0; idf = 0.0; tf_idf = 0.0; cosineSim = 0.0; } } |
现在我想把这个列表按舒适度排序
如果你想得到一个按cosinesim排序的文件信息组合(合并)列表,你可以使用dmitry的答案。
否则,如果您想订购字典中每个列表中的项目,可以使用
1 | myDic.ToDictionary(kvp => kvp.Key, kvp => kvp.Value.OrderBy(fi => fi.cosineSim).ToList()); |
如果你想得到一个按
1 2 3 4 | List<fileInfo> result = myDic.Values .SelectMany(item => item) // amalgamating all the lists .OrderBy(item => item.cosineSim) // ordering the result .ToList(); |
如果您想对
1 2 3 | foreach(var list in myDic.Values) list.Sort(Comparer<fileInfo>.Create((left, right) => left.cosineSim.CompareTo(right.cosineSim))); |