var result = Tuple.Create(dict.Keys.ToList(), dict.Values.ToList());
В соответствии с приказом-вопрос в ваш комментарий:
В каком порядке вы получите не гарантировано, потому что словарь не упорядоченная коллекция. Но гарантировано, что вы получите то же самое в Keys
- и Values
-collection, и если вы используете foreach(KeyValuepair<DateTime,double> kv in dict)
.
MSDN: Keys:
Порядок ключей в словаре (Of TKey, TValue) .KeyCollection не определен, но такой же порядок, как и связанных с ними значений в словаре (Of TKey, TValue) .ValueCollection возвращается значением .
MSDN: Values:
Порядок значений в словарь (Of TKey, TValue) .ValueCollection не определен, но это того же порядка, соответствующих ключей в словаря (TKey, TValue) .KeyCollection возвращается ключом .
Вы спросили:
Так, например, dict[result.Item1[5]] == result.Item2[5]
держит?
Да, это гарантировано в соответствии с документацией выше
можете посмотреть на [ 'Keys'] (https://msdn.microsoft.com/en-us/library/yt2fy5zk (V = vs.110) .aspx) и ['Значения'] (https://msdn.microsoft.com/en-us/library/ekcfxy3x (v = vs.110).aspx) свойства – grabthefish
о порядке свойств 'Keys' и' Values' _ Порядок ключей в словаре .KeyCollection не указан, но это тот же порядок, что и соответствующие значения в словаре .ValueCollection, возвращаемое свойством Values_ снова из страниц msdn. –
grabthefish