Linq查询过滤列表中的id c#

Saj*_*ran 12 c# linq collections list observable

我有一个结果列表列表,其中包含List里面的内容.我有另一个列表,其中只包含List.我想使用数据中的linq查询进行过滤,它应返回包含第二个技能ID的所有数据名单.

var list = this._viewModel.Data.Select(T => T.SkillsList);
var filtered = item.Skills.Contains(list.Where(t=>t.ToString()).ToList();
Run Code Online (Sandbox Code Playgroud)

从第一个列表中它包含技能列表中的小数列表; item.Skills包含字段为技能和代码的列表.item是另一个包含技能列表的对象.

ner*_*rdo 19

如果skillId是一个变量,并假设SkillsList包含一个名为Id的属性.然后,以下内容可以帮助您获取具有指定skillId的任何数据.

var list = this._viewModel.Data.Where(t=>t.SkillsList.Any(s=>s.Id == skillId));
Run Code Online (Sandbox Code Playgroud)

如果Skillslist只是一个整数数组,那么以下内容就可以了.

var list = this._viewModel.Data.Where(t=>t.SkillsList.Any(s=> s == skillId));
Run Code Online (Sandbox Code Playgroud)

现在,如果您正在检查列表,则以下内容将起作用.

var list = this._viewModel.Data.Where(t=>t.SkillsList.Any(s=> skillsList.contains(s));
Run Code Online (Sandbox Code Playgroud)