字典到列表 插入顺序

Luk*_*uke 0 c# dictionary

当字典转换为列表时,列表的顺序是否与项目在字典中的插入顺序相关。在这个例子中,插入顺序被保留了,但情况总是这样吗?或者是字典决定如何存储其项目。

     Dictionary<string, int> test = new Dictionary<string, int>
     { 
         {"A",0},
         {"Z",1},
         {"F",2},
         {"J",3}
     };

     List<KeyValuePair<string, int>> testlist = 
         new List<KeyValuePair<string,int>>(test);
Run Code Online (Sandbox Code Playgroud)

Adr*_*scu 5

不。它不保留顺序。如果确实如此,那只是偶然和内部实现细节。不能保证元素的枚举顺序应该与插入顺序相同。文件说明

项目返回的顺序未定义。

  • 为什么对正确答案投了这么多反对票?或者你们是否试图暗示与未记录、易于更改和意外实施细节相关的内容是值得鼓励的? (2认同)