2016-07-08 14 views
-2

私はDictionary<DateTime, double> dict;を持っていると私はTuple<List<DateTime>, List<double>> result;辞書キーをソートして辞書から2つのリストのタプルを取得する方法は?

条件を作成します:結果のタプルの結果result.Item1が昇順にソートする必要があると、各インデックスnのdict[result.Item1[n]] == result.Item2[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()); 
関連する問題