我有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方式获取元素?
答案 0 :(得分:5)
不,字典不保证按插入方式排序其内容。
引用MSDN中的模糊:
&#39;出于枚举的目的,字典中的每个项都被视为表示值及其键的KeyValuePair(Of TKey,TValue)结构。返回项目的顺序未定义。&#39;
答案 1 :(得分:-1)
它们通常按键 - x,y,z排序。