将项添加到字典作为第一个项c#

时间:2016-06-26 16:37:20

标签: c#

我目前正在将字词添加到字典中,如下所示。

private Dictionary<string, Dictionary<string, object>> mydict = new Dictionary<string, Dictionary<string, object>>();

mydict.Add("string1", classobject1);

最后我想添加&#34; stringN&#34;和classobjectN,但我希望将它添加为字典中的第一项。

上述情况可能吗?

2 个答案:

答案 0 :(得分:4)

字典不保留插入顺序。来自文档:https://msdn.microsoft.com/en-us/library/xfhwa508(v=vs.110).aspx

  

出于枚举的目的,字典中的每个项都被视为表示值及其键的KeyValuePair结构。返回项目的顺序未定义。

答案 1 :(得分:3)

  

上述情况可能吗?

不,这是不可能的。

存储在字典中的项目不会按照它们添加到字典中的顺序存储,就像在列表中一样。如果您查看用于实现列表和字典的数据结构,可以解释发生这种情况的原因。在列表的情况下,使用数组。每当数组被填充时,将创建另一个double size数组,并将第一个数组的元素复制到新数组。然后,您要添加的项目将添加到新阵列中。另一方面,在字典的情况下,使用哈希表。您可以查看here,以便刷新在哈希表中添加新项目的方式。

相关问题