我有C#词典。

Dictionary<string, string> map = new Dictionary<string, string>();
map["x"] = "1";
map["z"] = "2";
map["y"] = "0";


foreach获取键时,得到的值是“ x”-“ z”-“ y”。这就是我输入地图的顺序。

foreach (var pair in map)
{
    Console.WriteLine(pair.Key);
}


这是保证行为吗?我的意思是,对于Dictionary,我是否总是通过foreach以FIFO的方式获取元素?

最佳答案

不,不保证字典按其插入顺序对其内容进行排序。

引用来自MSDN的内容:

出于枚举目的,字典中的每个项目都被视为代表值及其键的KeyValuePair(Of TKey,TValue)结构。物品的退回顺序是不确定的。

关于c# - 我是否可以使用C#中的foreach以FIFO的方式获取Dictionary中的元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9475071/

10-14 16:05
查看更多