假设我有 2 个列表看起来像
ID | IsChipCollected | IsShirtCollected | IsPackCollected
A 0 1 0 1
1 0 1 0
2 0 0 1
B 0 0 1 0
1 0 0 1
2 1 1 1
基本上我需要比较和合并这两个列表,如果某个标志在 B 中设置为 true,我应该选择它而不是 A
我知道如何用一列来实现这一点,但我正在努力在有 2 列以上的场景中解决这个问题
var result = A.Concat(B)
.GroupBy(x => x.Id)
.Select(g => g.OrderByDescending(x => x.IsShirtCollected).First())
如果我在这方面取得任何进展,我会更新我的代码示例(因为我目前仍在破解:P)
预期结果
ID | IsChipCollected | IsShirtCollected | IsPackCollected
0 1 1 1
1 0 1 1
2 1 1 1