有没有一种优雅的方法可以以相同的顺序获取字典的键和值?我担心如果我使用dict.Values.ToArray()
and dict.Keys.ToArray()
(或dict.Select(obj => obj.Key)
and dict.Select(obj => obj.Value)
),它们的顺序会不同。
执行此操作的简单方法是:
foreach (var keyAndVal in dict)
{
keyList.Add(keyAndVal.Key);
valueList.Add(keyAndVal.Value);
}
var keyArray = keyList.ToArray();
var valueArray = valueList.ToArray();
对我来说,这感觉就像 LINQ 的用途(但我知道字典迭代顺序不能保证在两个不同的调用中保持相同)。是否有一种优雅的(即 LINQ 等)方法可以以相同的顺序获得这些?
非常感谢你的帮助。