【发布时间】:2020-03-11 23:08:56
【问题描述】:
我正在尝试找出一种方法来使用 Linq 将两个字典相互比较,并确定 DictB 中来自 DictA 的键的最小值。
假设两个字典上的键都是代表用户及其分数的唯一 ID,我希望能够确定在 DictA 的用户中得分最低的用户,即用户 @987654324 @ ("Ron") 得分为 9。
我假设它必须是这样的:
var pLoser = DictA[
DictB
.Where(x => DictA.ContainsKey(x.Key))
.Aggregate((l, r) => l.Value < r.Value ? l : r)
.Key
];
我想知道这是否是实现我想要的正确方法,或者是否有更好的方法。
【问题讨论】:
-
除非您能够非常明确地定义“正确”和“更好”对您意味着什么,否则无法回答包含“正确”和“更好”等词的问题。
-
第 1 步:通过选择更好的数据结构来帮助自己。
标签: c# linq dictionary lookup min