【发布时间】:2018-02-24 00:34:54
【问题描述】:
我有一本城市人口对象字典:
var cityPopulation = new new Dictionary<string, int>()
{
["Sacramento"] = 495234,
["Miami"] = 453579,
["Memphis"] = 652717
});
我需要获得 2 个对应(相同顺序)的数组。我可以确定当我这样做时
var cities = cityPopulation.Keys.ToArray();
var populations = cityPopulation.Values.ToArray();
两个数组的顺序将被保留 - 即:
城市 - 第一个元素将是萨克拉门托、第二个 - 迈阿密和第三个 - 孟菲斯,并且对于人口数组 - 第一 - 495234、第二 - 453579 和第三 - 652717 (城市数组应该对应于人口数组)。
我如何确定这一点,如果不能确定,我该如何保持这些数组的顺序?
【问题讨论】:
-
Dictionary不按顺序排列物品。您需要保持项目有序,还是只需要确保cities和populations在相同索引处具有对应的元素? -
ToArray肯定会保留顺序,但是字典没有任何顺序,因为它只是一个基于哈希的集合。 -
@Ryan - 我需要在相同的索引处有相应的元素(不是顺序)
标签: c# .net dictionary