假设我有一个字典,然后调用.Keys,然后调用.Values而不进行干预操作。密钥的排序是否与值的排序一致?
换句话说,第n个键是否与字典中之前的第n个值相对应?
答案 0 :(得分:9)
密钥的排序是否与值的排序一致?
是的,它由IDictionary<,>.Keys
和IDictionary<,>.Values
的文档保证。
Keys
文档:
未指定
Dictionary<TKey, TValue>.KeyCollection
中的键的顺序,但它与Dictionary<TKey, TValue>.ValueCollection
属性返回的Values
中的关联值的顺序相同。
Values
文档:
Dictionary<TKey, TValue>.ValueCollection
中的值的顺序未指定,但它与Dictionary<TKey, TValue>.KeyCollection
属性返回的Keys
中的关联键的顺序相同。
答案 1 :(得分:5)
根据MSDN的Dictionary.Keys文档,是的。
未指定
Dictionary<TKey, TValue>.KeyCollection
中的键的顺序,但它与Dictionary<TKey, TValue>.ValueCollection
属性返回的Values
中的关联值的顺序相同。