字典:将调用.Keys与.Values一致订购?

时间:2015-08-10 17:21:25

标签: c# dictionary

假设我有一个字典,然后调用.Keys,然后调用.Values而不进行干预操作。密钥的排序是否与值的排序一致?

换句话说,第n个键是否与字典中之前的第n个值相对应?

2 个答案:

答案 0 :(得分:9)

  

密钥的排序是否与值的排序一致?

是的,它由IDictionary<,>.KeysIDictionary<,>.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中的关联值的顺序相同。