VB.NET Dictionary.Add方法索引

时间:2011-03-10 05:20:44

标签: visual-studio-2010 dictionary

当我调用mydictionary.Add(key, object)时,我可以保证在mydictionary.ElementAt(mydictionary.Count - 1)返回该对象的意义上将对象添加到字典的末尾吗?我问,因为我已经习惯了HashMap根本没有订单的Java。

我希望使用ElementAt给出的顺序来了解在不使用单独数据结构的情况下将对象添加到字典的顺序。

更新:看起来ElementAt似乎无济于事。最好的方法是使用单独的数据结构来存储我需要的顺序吗?

由于

1 个答案:

答案 0 :(得分:2)

字典没有订单。 ElementAt方法是一个linq扩展方法,它使用IEnumerable迭代字典并计算事物的数量,与添加的事物的顺序没有关系。

有一个SortedDictionary,它会按键对事物进行排序,但不会按照添加顺序对它们进行排序。

如果订单非常重要,您可以始终拥有两个数据结构,即添加对象的列表以及存储列表索引映射的键的字典。或者在将对象添加到字典中时,在对象中添加一个字段。