选择忽略id属性在int数组中的对象的查询?

时间:2014-07-18 14:22:39

标签: c# arrays linq

我有一个包含多个对象的List,我想添加到满足某些条件的新List onjects,同时我还有一个包含某些对象的id key的int数组。

int[] selectedIDs = new int[] { 10, 22, 31, 42, 5 };

如何从多个对象的列表中选择,那些不在该int数组上的对象以及其他条件是状态为off。

  • 状态已关闭,但我不知道如何在int数组中添加忽略那些id的部分
  • 每个对象都有一个属性idObj,如obj.idObj

选择我正在做的所有对象

List<myObj> objs = allObjectsList.Where(s => s.SelectedByDisplay == objectState.OFF).ToList(); 

如何忽略id在int数组中的对象?

1 个答案:

答案 0 :(得分:3)

只需在Where子句中添加其他条件:

!selectedIDs.Contains(s.idObj)

所以你的陈述是:

List<myObj> objs = allObjectsList
                         .Where(s => s.SelectedByDisplay == objectState.OFF
                                    && !selectedIDs.Contains(s.idObj))
                          .ToList();