使用LINQ创建排序字典,无法删除条目

时间:2015-07-24 02:05:49

标签: c# linq

我使用LINQ创建了一个基于另一个字典的排序字典。这是我使用的代码:

var sortedStudentRatioDict = from entry in studentRatioDict orderby entry.Value ascending select entry;

现在我无法从该字典中删除任何条目。 .Remove()方法不会出现在intellisense中,也不会起作用。如何从此词典中删除条目或如何按值排序字典以便我可以删除条目?非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

正如pero所述,它不是Dictionary,而是IEnumerable<KeyValuePair<TKey, TValue>>。您可以通过调用Dictionary方法将其转换为ToDictionary()

var sortedStudentRatioDict = (from entry in studentRatioDict orderby entry.Value ascending select entry).ToDictionary(_ => _.Key, __ => __.Value);