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