例如,我有一个对象列表,其中包含以下属性。
现在我想按ID对它们进行分组,以减少重复项,但是当发现重复项时,我想要检查任何状态是否为ACT,如果是ACT,则选择此记录,但是如果没有ACT状态,则选择第一个重复出现的记录。在上面的示例中,我想要选择。
我知道第一步是什么。
{ ID: "1", STATUS: "INA" }
{ ID: "1", STATUS: "ACT" }
{ ID: "2", STATUS: "INA" }
{ ID: "2", STATUS: "BLO" }
现在我想按ID对它们进行分组,以减少重复项,但是当发现重复项时,我想要检查任何状态是否为ACT,如果是ACT,则选择此记录,但是如果没有ACT状态,则选择第一个重复出现的记录。在上面的示例中,我想要选择。
{ ID: "1", STATUS: "ACT" } //since it has ACT
{ ID: "2", STATUS: "INA" } //since it is first duplicate found
我知道第一步是什么。
var NoDup = from l in list.AsEnumerable()
group l by l.ID into c
但我不知道接下来该怎么做