辞書のキーと値を同じ順序で取得するエレガントな方法はありますか? 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 の目的のようなものだと感じています (ただし、2 つの異なる呼び出しで辞書の反復順序が同じであるとは限りません)。これらを同じ順序で取得するエレガントな (つまり、LINQ などの) 方法はありますか?
どうもありがとうございました。