1
有沒有一種優雅的方式來獲取字典的鍵和值以相同的順序?我很擔心,如果我使用dict.Values.ToArray()
和dict.Keys.ToArray()
(或dict.Select(obj => obj.Key)
和dict.Select(obj => obj.Value)
),他們將不會在同一順序。字典.Values和.Keys數組(按相同的順序)
簡單的方法來執行,這是:
foreach (var keyAndVal in dict)
{
keyList.Add(keyAndVal.Key);
valueList.Add(keyAndVal.Value);
}
var keyArray = keyList.ToArray();
var valueArray = valueList.ToArray();
對我來說,這種感覺就像那種東西LINQ被造的(但我知道,字典迭代順序是不能保證保持不變的兩個不同的電話)。有沒有一種優雅(即LINQ等)的方式來獲得這些相同的順序?
非常感謝您的幫助。
你可以用'Values',從[the docs](http://msdn.microsoft.com/en-us/library/ekcfxy3x.aspx):「Dictionary .ValueCollection中的值的順序未指定,但它是相同的order作爲由Keys屬性返回的Dictionary .KeyCollection中的相關鍵。「 –
vcsjones