“命令尊重”词典的解决方案

时间:2010-08-19 08:17:39

标签: c# dictionary

For Dictionary<,>“返回项目的顺序未定义”。

我知道有SortedDictionary,但如果我只想要一本字典,按照我把它们放入的顺序给我回馈元素,那么最好的做法是什么?

我想我应该使用List<KeyValuePair<,>>并在需要进行查找时将其转换为字典(而不是在字典上进行foreach)。

或者我错过了更聪明的东西?

2 个答案:

答案 0 :(得分:4)

有一个非泛型类可以执行此操作:OrderedDictionary但是当前没有通用版本。

答案 1 :(得分:2)

使用支持字典和列表保存您自己的集合。每当添加/删除项目时,您都可以将它们添加/删除到列表和字典中(与Clear()相同)。在将项目添加到列表

之前,请务必检查重复的密钥

这将允许您实现其他自定义逻辑,如排序,更改通知等