我有 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/