如果我在foreach
上执行Dictionary<>.Keys
循环,
有没有任何规则,如先进先出,或先进先出?还是随机的?
答案 0 :(得分:5)
未定义项目的返回顺序。
字典中的项目未订购。您无法确定以相同的顺序获取相同的项目。
Dictionary.KeyCollection中键的顺序是 未指定,但它与相关值的顺序相同 Dictionary返回的Dictionary.ValueCollection 属性。
如果您想订购或想要按索引访问字典项,那么您可以使用OrderedDictionary
表示可以访问的键/值对的集合 密钥或索引。
答案 1 :(得分:2)
全部都在documentation。
Dictionary.KeyCollection中键的顺序是 未指定,但它与相关值的顺序相同 Dictionary返回的Dictionary.ValueCollection 属性。
答案 2 :(得分:0)
dictionary is not deterministic
的顺序,您在检索密钥时无法确保订单。
出于枚举的目的,字典中的每个项都被视为 表示值及其值的KeyValuePair结构 键。返回项目的顺序未定义, 的 MSDN 强>
您可以通过以下方式创建密钥:您可以在dictionay中添加键时使用递增的整数,也可以使用ordered dictionary。