2016-07-08 96 views
-2

我有Dictionary<DateTime, double> dict;,我想創建Tuple<List<DateTime>, List<double>> result;如何從詞典中得到字典鍵的兩個列表的元組?

條件:導致產生的元組的result.Item1在升序進行排序,並dict[result.Item1[n]] == result.Item2[n]每個索引n。

感謝

+0

做了downvotes讓你覺得這個問題需要更多的解釋? –

+0

爲什麼你必須這樣做? –

+0

爲什麼所有的downvotes?至少要解釋爲什麼這個問題沒有意義,但只是投票是跛腳的。 –

回答

2

您可以使用此方法:

var kvList = dict.OrderBy(kv => kv.Key).ToList(); 
List<DateTime> dates = new List<DateTime>(kvList.Count); 
dates.AddRange(kvList.Select(kv => kv.Key)); 
List<double> doubles = new List<double>(kvList.Count); 
doubles.AddRange(kvList.Select(kv => kv.Value)); 
var result = Tuple.Create(dates, doubles); 
0

我認爲應該工作:

List<DateTime> dateTimes = dict.Keys.OrderBy(x => x).ToList(); 
Tuple<List<DateTime>, List<double>> result = new Tuple<List<DateTime>, List<double>>(dateTimes, dateTimes.Select(x=>dict[x]).ToList()); 
相關問題