我正在尝试编写一段 LINQ 代码,它允许我从一个对象中提取信息,该对象基本上由一个扩展列表组成,该列表包含 2 个字符串属性和一个字典属性,其中字典的类型<string, double>
为 ,对于列表中的每一行.
我尝试了 GroupBy、Select、Sum 的各种组合,并在其他线程中搜索了类似的东西,但所有其他与字典相关的问题似乎都没有几层复杂性。
我的目标是按第一个字符串属性对 List 对象中的数据进行分组,然后对步骤 1 中每个分组字符串的一个 Dictionary 条目进行小计。然后我想按分组字符串从字典中获取前 5 个小计从第 1 步开始。
var result = List<ListObject>
.Where(i => i.string2 == "June")
.GroupBy(i => i.string1)
.Sum(i => i.Sum(s => s.Values.TryGetValue("Value1",0.0))
.Take(5));
Also adding the ListObject definition as requested
public class ListObject{
public string string1{ get; set; }
public string string2{ get; set; }
public Dictionary<string, double> Values { get; set; }
}