Dictionary.Keys.List()[i]是否对应于Dictionary.Values.ToList()[i]?

Gra*_*ton 7 c# dictionary

我有一个Dictionary数据类型.我的问题是,Dictionary.Keys.ToList()[i]总是对应Dictionary.Values.ToList()[i]?也就是说,以下测试总是会通过

public void DictionaryTest(int i, Dictionary<U,T> dict)
{
  var key = dict.Keys.ToList()[i];
  Assert.AreEqual(dict[key], dict.Values.ToList()[i]); 
}
Run Code Online (Sandbox Code Playgroud)

SwD*_*n81 6

我会在MSDN的基础上说是的:

Dictionary.ValueCollection中的值的顺序是未指定的,但它与Keys属性返回的Dictionary.KeyCollection中的关联键的顺序相同.


Cod*_*aos 1

检查Dictionary.Keys Property的 MSDN 条目:

Dictionary.KeyCollection 中键的顺序未指定,但与 Values 属性返回的 Dictionary.ValueCollection 中关联值的顺序相同。