使用linq any检查列表中是否包含

时间:2018-07-31 14:31:04

标签: c# list linq object filter

在这里,我在列表中存储了管辖区列表。

让我们说对象管辖区包含9个返回引用1-9的项目 我的另一个对象过滤器。管辖区包含2个项,分别返回ref 1和ref 2。

如果管辖区中存在引用但filter.jurisdictions中不存在引用,我不想返回行。由于filter.jurisidctions的引用1和2包含在管辖区对象中,因此它应该仅返回2行而不是9行(因为现在正在返回)

希望这是有道理的。 这是代码:

bot.dialog('Team',[
(session, results) => {
  entity = builder.EntityRecognizer.findEntity(results.intent.entities, 'Team');
}

谢谢

1 个答案:

答案 0 :(得分:0)

linq代码将新值分配给另一个值,而不是更新原始集合

if (filter?.Jurisdictions.Count() > 0){
     var updatedJurisdictions =jurisdictions.Where(tag => filter.Jurisdictions.Any(x => x == tag.Ref)).ToList(); // or whatever
}

编辑:删除了.Select(),因为它不需要