【发布时间】:2017-09-10 06:38:00
【问题描述】:
public class MyClass
{
public DateTime Date;
public string Symbol { get; set; }
public decimal Close { get; set; }
}
假设
Dictionary<string, List<MyClass>> A
我想用linq过滤每个Symbol(最近N天的数据)的Date,但我想在过滤后保留Dictionary<string, List<MyClass>>结构。
我能做的就是再次构建Dictionary
Dictionary<string, List<MyClass>> C = new Dictionary<string, List<MyClass>>();
var temData = A.Select(o => o.Value.Where(p => p.Date < today).Take(N)).SelectMany(o => o).GroupBy(o => o.Symbol);
foreach (var item in temData)
{
C.Add(item.Key, item.ToList());
}
有没有像ToDictionary 这样的简单方法来构建结果?
【问题讨论】:
-
@GiladGreen 抱歉,请更新 A 是 B。
-
关键是什么?已经是
Symbol了吗?只是C里面有过滤项,这两个字典基本一样吗? -
@GiladGreen 是的,关键仍然是
Symbol,我想建立一个新字典但不重写A.
标签: c# linq dictionary