所以,我找到了这样一段代码:
class CustomDictionary
{
Dictionary<string, string> backing;
...
public string Get(int index)
{
return backing.ElementAtOrDefault(index); //use linq extensions on IEnumerable
}
}
然后像这样使用它:
for(int i=0;i<mydictionary.Count;i++)
{
var value=mydictionary.Get(i);
}
除了这样做的性能问题和丑陋之外,这段代码真的正确吗?即,是否保证字典上的 IEnumerable 始终以相同的顺序返回内容,假设在迭代期间没有任何内容被字典修改?