我得到一个
Dictionary<DateTime,double>()
来自应用程序的不同部分。这可以返回许多字典,这就是我将它们存储在列表中的原因:
var masterlist = new List<Dictionary<DateTime, double>>();
我现在想在 DateTime 键相等的地方组合字典,并将结果转换为数组对象 [,] 以便每一行看起来像这样:
DateTime, double_d1, double_d2, ... double_dn
其中 d1, d2, ..., dn 是列表中字典的模拟代码。 请问我该怎么做?
最佳答案
你可以试试这个:
Dictionary<DateTime, double[]> preResult = masterlist.SelectMany(s => s).GroupBy(k => k.Key)
.ToDictionary(k => k.Key, v => v.Select(s => s.Value).ToArray());
var result = preResult.Select(s =>
{
var res = new List<object>();
res.Add(s.Key);
res.AddRange(s.Value.Cast<object>());
return res.ToArray();
}).ToArray();
关于c# - 组合键匹配的多个字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42108286/