dotnet:有没有办法直接在字典中获取值集合的引用?

时间:2009-05-21 10:02:23

标签: .net sorting collections dictionary

我想根据每个dictioanry项目的值对字典进行排序。但是如果我使用排序字典搜索时间复杂度将从常量增加到log2(n)。所以我想直接将字典中值列表的引用分配给列表然后,我可以对此列表进行排序并获得结果。我不想迭代到字典的每个元素,在列表中添加其值会增加复杂性?

1 个答案:

答案 0 :(得分:2)

您可以通过Dictionary<>.Values属性获取值集合。在下面的示例中,您不会遍历值,但框架会为您执行此操作。

Dictionary<int, Item> items = new Dictionary<int, Item>();
List<Item> values = new List<Item>(items.Values);
values.Sort();

您还可以为值保留另一个列表,并且可以将项目添加到字典和列表中。