我有一个 C 类,它有一个 List[B],每个 B 都有一个 Dictionary[A, double]
我需要选择当前我正在做的每个 A 的 max(double):
Dictionary<A,double> rtn = new Dictionary<A,double>();
foreach (var B in C.Bs)
{
foreach (var kvpA in B.A_list.Where(a => !rtn.Keys.ToList().Contains(a)))
{
rtn.Add(kvpA.Key, kvpA.Value);
}
foreach(var kvpA in B.A_list.Where(a => rtn.Keys.Contains(a) && a.Value>rtn[a]))
{
rtn[kvpA.Key] = kvpA.Value;
}
}
return rtn;
然而,这看起来相当混乱,所以我正在尝试构建一个更好的 linq 查询,但无法弄清楚语法。有什么帮助吗?