c# - 我是否使用 C# 中的 foreach 以 FIFO 方式获取 Dictionary 中的元素?

标签 c# dictionary

我有 C# 字典。

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

当我用 foreach 获取键时,我得到了“x”-“z”-“y”的值。这是我输入 map 的顺序。

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/

相关文章:

c# - SSH,连接并执行 mysql 查询

c# - 更改某些 ListView 列的颜色

c# - c# 中是否有等效于 php array_merge 的函数

c++ - 从 3D map 中插入和读取值

python - 打印带有重复键的多维字典

python - 使用 Python 将现有字典转换为 JSON

c# - Slickgrid 为单元格/列或行添加颜色

python - dynamodb/python updateitem 在嵌套映射中追加项目

javascript - 字典数据 ito d3 折线图 - 服务器端的 Django Python

c# - 如何修改 Bresenham 的线算法以保持顺序?