How to sort a Dictionary<string, List<int>> by a certain element in values list?
我在词典which lists as as keys和持有的字符串值。想象你是哪里有奥运the Keys and the values in different countries are for example number of each list number of体育参与者,medals,金,银medals等等。如果想知道备用金medals sort the countries is the second说黄金medals进入每个列表会想这样的东西:P></
1 2 3 4 |
位is not the last but is not by rejected VisualStudio为预期的工作。the dictionary is not类。我认为这是更好的建立。乡村级与不同的属性,然后与在路上的OrderBy sort(λc=>c.goldmedals)but is there to do this with套式的方式在词典列表里面?P></
这是因为
因此,这应该是有效的:
1 2 3 4 5 6 | var orderedRankings = countryRankings.OrderByDescending(pairs => pairs.Value[1]); // now you can iterate over orderedRankings foreach(var rankingPair in orderedRankings) { // do something with it.. } |
是的,按照你在问题的最后一部分中的建议创建一个类会更好,但这不会改变答案。
将结果赋给变量。但它不能是字典,因为字典中的项目无法重新排序。您可以使用
1 2 | List<KeyValuePair<string, List<int>>> result = countryRankings.OrderByDescending(pairs => pairs.Value[1]).ToList(); |
号
使用类而不是整数列表会更好,但它不会改变获得排序结果所需的操作,只会改变表达式的排序方式。